LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 46073 - Missing calling convention support for vector types
Summary: Missing calling convention support for vector types
Status: NEW
Alias: None
Product: libraries
Classification: Unclassified
Component: Backend: Sparc (show other bugs)
Version: trunk
Hardware: PC Linux
: P enhancement
Assignee: Unassigned LLVM Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-26 04:58 PDT by Jörg Sonnenberger
Modified: 2020-11-11 03:47 PST (History)
6 users (show)

See Also:
Fixed By Commit(s):


Attachments
Minimal test case (1.01 KB, text/plain)
2020-05-26 04:58 PDT, Jörg Sonnenberger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jörg Sonnenberger 2020-05-26 04:58:51 PDT
Created attachment 23531 [details]
Minimal test case

Try compiling the attached code, it will assert in SparcTargetLowering::LowerCall_32 respectively LowerCall_64 due to the missing lowering for 16x16 vector types.
Comment 1 Martin Husemann 2020-11-11 03:29:56 PST
This (unfortunately) happens in real world code and breaks firefox compilation for me.
Comment 2 John Paul Adrian Glaubitz 2020-11-11 03:33:19 PST
Maybe we could look at how GCC does the lowering here.
Comment 3 Martin Husemann 2020-11-11 03:40:42 PST
AFAICT the ABI does not know about VIS data types at all, they are just passed like any other bunch of float (or double) values.
Comment 4 John Paul Adrian Glaubitz 2020-11-11 03:47:27 PST
I would have been surprised to know that SPARC has any sorts of vector types.