The ARM RTABI defines the half- to single-precision float conversion functions with an aeabi prefix, but libgcc only has them with a gnu prefix. Therefore we need to emit the aeabi version when compiling with an eabi or eabihf triple, and the gnu version with a gnueabi or gnueabihf triple.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Renato: Alright then, this mostly LGTM, but what do I know about ARM ABIs! I'll let you have the final say.
Oliver: please make sure to commit the compiler-rt additions first.
lib/Target/ARM/ARMISelLowering.cpp | ||
---|---|---|
402–403 | The same thing is done for f64->f16 when Subtarget->isAAPCS_ABI(), not isTargetAEABI(). Should we also set the f64 libcall here? I don't think any runtime has a f16->f64 libcall though. | |
test/CodeGen/ARM/fp16.ll | ||
16–17 | What about adding a common shared prefix, say --check-prefix=CHECK-ALL or =CHECK, to simplify the -LABELs ? |
The same thing is done for f64->f16 when Subtarget->isAAPCS_ABI(), not isTargetAEABI(). Should we also set the f64 libcall here?
I don't think any runtime has a f16->f64 libcall though.