Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

Missing calling convention support for vector types #45043

Open Quuxplusone opened 4 years ago

Quuxplusone commented 4 years ago
Bugzilla Link PR46073
Status NEW
Importance P enhancement
Reported by Jörg Sonnenberger (joerg@NetBSD.org)
Reported on 2020-05-26 04:58:51 -0700
Last modified on 2020-11-11 03:47:27 -0800
Version trunk
Hardware PC Linux
CC glaubitz@physik.fu-berlin.de, jrtc27@jrtc27.com, llvm-bugs@lists.llvm.org, martin@netbsd.org, ro@gcc.gnu.org, venkatra@cs.wisc.edu
Fixed by commit(s)
Attachments gl-ca5a29.ll (1030 bytes, text/plain)
Blocks
Blocked by
See also
Created attachment 23531
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.
Quuxplusone commented 4 years ago

Attached gl-ca5a29.ll (1030 bytes, text/plain): Minimal test case

Quuxplusone commented 3 years ago

This (unfortunately) happens in real world code and breaks firefox compilation for me.

Quuxplusone commented 3 years ago

Maybe we could look at how GCC does the lowering here.

Quuxplusone commented 3 years ago

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.

Quuxplusone commented 3 years ago

I would have been surprised to know that SPARC has any sorts of vector types.