xref: /llvm-project/llvm/test/CodeGen/X86/2008-09-25-sseregparm-1.ll (revision a2a0089ac3a5781ba74d4d319c87c9e8b46d4eda)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=i686-- -mattr=+sse2 | FileCheck %s
3; check 'inreg' attribute for sse_regparm
4
5define inreg double @foo1()  nounwind {
6; CHECK-LABEL: foo1:
7; CHECK:       # %bb.0:
8; CHECK-NEXT:    movsd {{.*#+}} xmm0 = [1.0E+0,0.0E+0]
9; CHECK-NEXT:    retl
10  ret double 1.0
11}
12
13define inreg float @foo2()  nounwind {
14; CHECK-LABEL: foo2:
15; CHECK:       # %bb.0:
16; CHECK-NEXT:    movss {{.*#+}} xmm0 = [1.0E+0,0.0E+0,0.0E+0,0.0E+0]
17; CHECK-NEXT:    retl
18  ret float 1.0
19}
20
21define double @bar() nounwind {
22; CHECK-LABEL: bar:
23; CHECK:       # %bb.0:
24; CHECK-NEXT:    fld1
25; CHECK-NEXT:    retl
26  ret double 1.0
27}
28
29define float @bar2() nounwind {
30; CHECK-LABEL: bar2:
31; CHECK:       # %bb.0:
32; CHECK-NEXT:    fld1
33; CHECK-NEXT:    retl
34  ret float 1.0
35}
36