28 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-- -mattr=+sse2 | FileCheck %s3 4; Don't fold the incoming stack arguments into the xorps instructions used5; to do floating-point negations, because the arguments aren't vectors6; and aren't vector-aligned.7 8define void @foo(ptr %p, ptr %q, float %s, float %y) nounwind {9; CHECK-LABEL: foo:10; CHECK: # %bb.0:11; CHECK-NEXT: pushl %esi12; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax13; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx14; CHECK-NEXT: movl $-2147483648, %edx # imm = 0x8000000015; CHECK-NEXT: movl {{[0-9]+}}(%esp), %esi16; CHECK-NEXT: xorl %edx, %esi17; CHECK-NEXT: movl %esi, (%ecx)18; CHECK-NEXT: xorl {{[0-9]+}}(%esp), %edx19; CHECK-NEXT: movl %edx, (%eax)20; CHECK-NEXT: popl %esi21; CHECK-NEXT: retl22 %ss = fsub float -0.0, %s23 %yy = fsub float -0.0, %y24 store float %ss, ptr %p25 store float %yy, ptr %q26 ret void27}28