From eaa16005af8f47597f3e8d5ed75f5e8fcd0c8bc5 Mon Sep 17 00:00:00 2001 From: Michael Kuperstein Date: Sun, 25 Oct 2015 08:14:05 +0000 Subject: [X86] Use correct calling convention for MCU psABI libcalls When using the MCU psABI, compiler-generated library calls should pass some parameters in-register. However, since inreg marking for x86 is currently done by the front end, it will not be applied to backend-generated calls. This is a workaround for PR3997, which describes a similar issue for -mregparm. Differential Revision: http://reviews.llvm.org/D13977 llvm-svn: 251223 --- llvm/test/CodeGen/X86/mcu-abi.ll | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 llvm/test/CodeGen/X86/mcu-abi.ll (limited to 'llvm/test/CodeGen') diff --git a/llvm/test/CodeGen/X86/mcu-abi.ll b/llvm/test/CodeGen/X86/mcu-abi.ll new file mode 100644 index 00000000000..4da9f3d91ba --- /dev/null +++ b/llvm/test/CodeGen/X86/mcu-abi.ll @@ -0,0 +1,11 @@ +; RUN: llc < %s -mtriple=i686-pc-linux-elfiamcu | FileCheck %s + +; CHECK-LABEL: test_lib_args: +; CHECK: movl %edx, %eax +; CHECK: calll __fixsfsi +define i32 @test_lib_args(float inreg %a, float inreg %b) #0 { + %ret = fptosi float %b to i32 + ret i32 %ret +} + +attributes #0 = { nounwind "use-soft-float"="true"} -- cgit v1.2.3