[PATCH] D34950: [compiler-rt][builtins] XFAIL tests involving complex divide for ARM hard float targets

Peter Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 5 06:45:25 PDT 2017


peter.smith added a comment.

Thanks very much for the comment, I'm not sure that I've understood it correctly though as I'm not sure whether the command line options in the comment are clang or gcc options. I think that they are clang?

I think that this particular case is deeper than compatibility with gcc. There is no set of non-darwin command line options to get clang/llvm to use hard-float calls to the complex helper functions. Clang marks these calls as explicitly aapcs so they will always be called using a soft-float calling convention (http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20141201/119292.html). GCC will use a hard-float calling convention with a hard-float target such as arm-linux-gnueabihf. Or arm-none-eabi-gcc  with something like -mfloat-abi=hard -mcpu=cortex-m4. As it stands at the moment I think clang can't be used with _Complex and a hard float compiled compiler-rt or libgcc

I'm intending to post a patch for clang to match the gcc behaviour, if this is accepted then there won't be any need to xfail these tests.

Please let me know if I've misunderstood?


https://reviews.llvm.org/D34950





More information about the llvm-commits mailing list