| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
| ; RUN: llc < %s -mtriple=i686-- -mattr=+sse2 | FileCheck %s |
| ; check 'inreg' attribute for sse_regparm |
| |
| define inreg double @foo1() nounwind { |
| ; CHECK-LABEL: foo1: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero |
| ; CHECK-NEXT: retl |
| ret double 1.0 |
| } |
| |
| define inreg float @foo2() nounwind { |
| ; CHECK-LABEL: foo2: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero |
| ; CHECK-NEXT: retl |
| ret float 1.0 |
| } |
| |
| define double @bar() nounwind { |
| ; CHECK-LABEL: bar: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: fld1 |
| ; CHECK-NEXT: retl |
| ret double 1.0 |
| } |
| |
| define float @bar2() nounwind { |
| ; CHECK-LABEL: bar2: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: fld1 |
| ; CHECK-NEXT: retl |
| ret float 1.0 |
| } |