From 8f672b95f2e432163129ff1b8886294027c9141c Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 22 Feb 2010 18:53:26 +0000 Subject: [PATCH] Actually enable the -enable-unsafe-fp-math tests. llvm-svn: 96796 --- test/CodeGen/X86/sse-minmax.ll | 288 ++++++++++++++++----------------- 1 file changed, 144 insertions(+), 144 deletions(-) diff --git a/test/CodeGen/X86/sse-minmax.ll b/test/CodeGen/X86/sse-minmax.ll index 2cc31c671f9..f8590fdb288 100644 --- a/test/CodeGen/X86/sse-minmax.ll +++ b/test/CodeGen/X86/sse-minmax.ll @@ -1,5 +1,5 @@ ; RUN: llc < %s -march=x86-64 -asm-verbose=false | FileCheck %s -; RUN: llc < %s -march=x86-64 -asm-verbose=false -enable-unsafe-fp-math | FileCheck -check-prefix=uNSAFE %s +; RUN: llc < %s -march=x86-64 -asm-verbose=false -enable-unsafe-fp-math | FileCheck -check-prefix=UNSAFE %s ; Some of these patterns can be matched as SSE min or max. Some of ; then can be matched provided that the operands are swapped. @@ -13,9 +13,9 @@ ; CHECK: ogt: ; CHECK-NEXT: maxsd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: ogt: -; uNSAFE-NEXT: maxsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: ogt: +; UNSAFE-NEXT: maxsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @ogt(double %x, double %y) nounwind { %c = fcmp ogt double %x, %y %d = select i1 %c, double %x, double %y @@ -25,9 +25,9 @@ define double @ogt(double %x, double %y) nounwind { ; CHECK: olt: ; CHECK-NEXT: minsd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: olt: -; uNSAFE-NEXT: minsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: olt: +; UNSAFE-NEXT: minsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @olt(double %x, double %y) nounwind { %c = fcmp olt double %x, %y %d = select i1 %c, double %x, double %y @@ -38,10 +38,10 @@ define double @olt(double %x, double %y) nounwind { ; CHECK-NEXT: minsd %xmm0, %xmm1 ; CHECK-NEXT: movapd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: ogt_inverse: -; uNSAFE-NEXT: minsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: ogt_inverse: +; UNSAFE-NEXT: minsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @ogt_inverse(double %x, double %y) nounwind { %c = fcmp ogt double %x, %y %d = select i1 %c, double %y, double %x @@ -52,10 +52,10 @@ define double @ogt_inverse(double %x, double %y) nounwind { ; CHECK-NEXT: maxsd %xmm0, %xmm1 ; CHECK-NEXT: movapd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: olt_inverse: -; uNSAFE-NEXT: maxsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: olt_inverse: +; UNSAFE-NEXT: maxsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @olt_inverse(double %x, double %y) nounwind { %c = fcmp olt double %x, %y %d = select i1 %c, double %y, double %x @@ -64,9 +64,9 @@ define double @olt_inverse(double %x, double %y) nounwind { ; CHECK: oge: ; CHECK-NEXT: ucomisd %xmm1, %xmm0 -; uNSAFE: oge: -; uNSAFE-NEXT: maxsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: oge: +; UNSAFE-NEXT: maxsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @oge(double %x, double %y) nounwind { %c = fcmp oge double %x, %y %d = select i1 %c, double %x, double %y @@ -75,8 +75,8 @@ define double @oge(double %x, double %y) nounwind { ; CHECK: ole: ; CHECK-NEXT: ucomisd %xmm0, %xmm1 -; uNSAFE: ole: -; uNSAFE-NEXT: minsd %xmm1, %xmm0 +; UNSAFE: ole: +; UNSAFE-NEXT: minsd %xmm1, %xmm0 define double @ole(double %x, double %y) nounwind { %c = fcmp ole double %x, %y %d = select i1 %c, double %x, double %y @@ -85,10 +85,10 @@ define double @ole(double %x, double %y) nounwind { ; CHECK: oge_inverse: ; CHECK-NEXT: ucomisd %xmm1, %xmm0 -; uNSAFE: oge_inverse: -; uNSAFE-NEXT: minsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: oge_inverse: +; UNSAFE-NEXT: minsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @oge_inverse(double %x, double %y) nounwind { %c = fcmp oge double %x, %y %d = select i1 %c, double %y, double %x @@ -97,10 +97,10 @@ define double @oge_inverse(double %x, double %y) nounwind { ; CHECK: ole_inverse: ; CHECK-NEXT: ucomisd %xmm0, %xmm1 -; uNSAFE: ole_inverse: -; uNSAFE-NEXT: maxsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: ole_inverse: +; UNSAFE-NEXT: maxsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @ole_inverse(double %x, double %y) nounwind { %c = fcmp ole double %x, %y %d = select i1 %c, double %y, double %x @@ -111,10 +111,10 @@ define double @ole_inverse(double %x, double %y) nounwind { ; CHECK-NEXT: pxor %xmm1, %xmm1 ; CHECK-NEXT: maxsd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: x_ogt: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: maxsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_ogt: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: maxsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_ogt(double %x) nounwind { %c = fcmp ogt double %x, 0.000000e+00 %d = select i1 %c, double %x, double 0.000000e+00 @@ -125,10 +125,10 @@ define double @x_ogt(double %x) nounwind { ; CHECK-NEXT: pxor %xmm1, %xmm1 ; CHECK-NEXT: minsd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: x_olt: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: minsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_olt: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: minsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_olt(double %x) nounwind { %c = fcmp olt double %x, 0.000000e+00 %d = select i1 %c, double %x, double 0.000000e+00 @@ -140,11 +140,11 @@ define double @x_olt(double %x) nounwind { ; CHECK-NEXT: minsd %xmm0, %xmm1 ; CHECK-NEXT: movapd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: x_ogt_inverse: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: minsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_ogt_inverse: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: minsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_ogt_inverse(double %x) nounwind { %c = fcmp ogt double %x, 0.000000e+00 %d = select i1 %c, double 0.000000e+00, double %x @@ -156,11 +156,11 @@ define double @x_ogt_inverse(double %x) nounwind { ; CHECK-NEXT: maxsd %xmm0, %xmm1 ; CHECK-NEXT: movapd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: x_olt_inverse: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: maxsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_olt_inverse: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: maxsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_olt_inverse(double %x) nounwind { %c = fcmp olt double %x, 0.000000e+00 %d = select i1 %c, double 0.000000e+00, double %x @@ -169,10 +169,10 @@ define double @x_olt_inverse(double %x) nounwind { ; CHECK: x_oge: ; CHECK: ucomisd %xmm1, %xmm0 -; uNSAFE: x_oge: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: maxsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_oge: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: maxsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_oge(double %x) nounwind { %c = fcmp oge double %x, 0.000000e+00 %d = select i1 %c, double %x, double 0.000000e+00 @@ -181,10 +181,10 @@ define double @x_oge(double %x) nounwind { ; CHECK: x_ole: ; CHECK: ucomisd %xmm0, %xmm1 -; uNSAFE: x_ole: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: minsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_ole: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: minsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_ole(double %x) nounwind { %c = fcmp ole double %x, 0.000000e+00 %d = select i1 %c, double %x, double 0.000000e+00 @@ -193,11 +193,11 @@ define double @x_ole(double %x) nounwind { ; CHECK: x_oge_inverse: ; CHECK: ucomisd %xmm1, %xmm0 -; uNSAFE: x_oge_inverse: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: minsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_oge_inverse: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: minsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_oge_inverse(double %x) nounwind { %c = fcmp oge double %x, 0.000000e+00 %d = select i1 %c, double 0.000000e+00, double %x @@ -206,11 +206,11 @@ define double @x_oge_inverse(double %x) nounwind { ; CHECK: x_ole_inverse: ; CHECK: ucomisd %xmm0, %xmm1 -; uNSAFE: x_ole_inverse: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: maxsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_ole_inverse: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: maxsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_ole_inverse(double %x) nounwind { %c = fcmp ole double %x, 0.000000e+00 %d = select i1 %c, double 0.000000e+00, double %x @@ -219,9 +219,9 @@ define double @x_ole_inverse(double %x) nounwind { ; CHECK: ugt: ; CHECK: ucomisd %xmm0, %xmm1 -; uNSAFE: ugt: -; uNSAFE-NEXT: maxsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: ugt: +; UNSAFE-NEXT: maxsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @ugt(double %x, double %y) nounwind { %c = fcmp ugt double %x, %y %d = select i1 %c, double %x, double %y @@ -230,9 +230,9 @@ define double @ugt(double %x, double %y) nounwind { ; CHECK: ult: ; CHECK: ucomisd %xmm1, %xmm0 -; uNSAFE: ult: -; uNSAFE-NEXT: minsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: ult: +; UNSAFE-NEXT: minsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @ult(double %x, double %y) nounwind { %c = fcmp ult double %x, %y %d = select i1 %c, double %x, double %y @@ -241,10 +241,10 @@ define double @ult(double %x, double %y) nounwind { ; CHECK: ugt_inverse: ; CHECK: ucomisd %xmm0, %xmm1 -; uNSAFE: ugt_inverse: -; uNSAFE-NEXT: minsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: ugt_inverse: +; UNSAFE-NEXT: minsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @ugt_inverse(double %x, double %y) nounwind { %c = fcmp ugt double %x, %y %d = select i1 %c, double %y, double %x @@ -253,10 +253,10 @@ define double @ugt_inverse(double %x, double %y) nounwind { ; CHECK: ult_inverse: ; CHECK: ucomisd %xmm1, %xmm0 -; uNSAFE: ult_inverse: -; uNSAFE-NEXT: maxsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: ult_inverse: +; UNSAFE-NEXT: maxsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @ult_inverse(double %x, double %y) nounwind { %c = fcmp ult double %x, %y %d = select i1 %c, double %y, double %x @@ -266,9 +266,9 @@ define double @ult_inverse(double %x, double %y) nounwind { ; CHECK: uge: ; CHECK-NEXT: maxsd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: uge: -; uNSAFE-NEXT: maxsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: uge: +; UNSAFE-NEXT: maxsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @uge(double %x, double %y) nounwind { %c = fcmp uge double %x, %y %d = select i1 %c, double %x, double %y @@ -278,9 +278,9 @@ define double @uge(double %x, double %y) nounwind { ; CHECK: ule: ; CHECK-NEXT: minsd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: ule: -; uNSAFE-NEXT: minsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: ule: +; UNSAFE-NEXT: minsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @ule(double %x, double %y) nounwind { %c = fcmp ule double %x, %y %d = select i1 %c, double %x, double %y @@ -291,10 +291,10 @@ define double @ule(double %x, double %y) nounwind { ; CHECK-NEXT: minsd %xmm0, %xmm1 ; CHECK-NEXT: movapd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: uge_inverse: -; uNSAFE-NEXT: minsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: uge_inverse: +; UNSAFE-NEXT: minsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @uge_inverse(double %x, double %y) nounwind { %c = fcmp uge double %x, %y %d = select i1 %c, double %y, double %x @@ -305,10 +305,10 @@ define double @uge_inverse(double %x, double %y) nounwind { ; CHECK-NEXT: maxsd %xmm0, %xmm1 ; CHECK-NEXT: movapd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: ule_inverse: -; uNSAFE-NEXT: maxsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: ule_inverse: +; UNSAFE-NEXT: maxsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @ule_inverse(double %x, double %y) nounwind { %c = fcmp ule double %x, %y %d = select i1 %c, double %y, double %x @@ -317,10 +317,10 @@ define double @ule_inverse(double %x, double %y) nounwind { ; CHECK: x_ugt: ; CHECK: ucomisd %xmm0, %xmm1 -; uNSAFE: x_ugt: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: maxsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_ugt: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: maxsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_ugt(double %x) nounwind { %c = fcmp ugt double %x, 0.000000e+00 %d = select i1 %c, double %x, double 0.000000e+00 @@ -329,10 +329,10 @@ define double @x_ugt(double %x) nounwind { ; CHECK: x_ult: ; CHECK: ucomisd %xmm1, %xmm0 -; uNSAFE: x_ult: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: minsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_ult: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: minsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_ult(double %x) nounwind { %c = fcmp ult double %x, 0.000000e+00 %d = select i1 %c, double %x, double 0.000000e+00 @@ -341,11 +341,11 @@ define double @x_ult(double %x) nounwind { ; CHECK: x_ugt_inverse: ; CHECK: ucomisd %xmm0, %xmm1 -; uNSAFE: x_ugt_inverse: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: minsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_ugt_inverse: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: minsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_ugt_inverse(double %x) nounwind { %c = fcmp ugt double %x, 0.000000e+00 %d = select i1 %c, double 0.000000e+00, double %x @@ -354,11 +354,11 @@ define double @x_ugt_inverse(double %x) nounwind { ; CHECK: x_ult_inverse: ; CHECK: ucomisd %xmm1, %xmm0 -; uNSAFE: x_ult_inverse: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: maxsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_ult_inverse: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: maxsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_ult_inverse(double %x) nounwind { %c = fcmp ult double %x, 0.000000e+00 %d = select i1 %c, double 0.000000e+00, double %x @@ -369,10 +369,10 @@ define double @x_ult_inverse(double %x) nounwind { ; CHECK-NEXT: pxor %xmm1, %xmm1 ; CHECK-NEXT: maxsd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: x_uge: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: maxsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_uge: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: maxsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_uge(double %x) nounwind { %c = fcmp uge double %x, 0.000000e+00 %d = select i1 %c, double %x, double 0.000000e+00 @@ -383,10 +383,10 @@ define double @x_uge(double %x) nounwind { ; CHECK-NEXT: pxor %xmm1, %xmm1 ; CHECK-NEXT: minsd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: x_ule: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: minsd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_ule: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: minsd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_ule(double %x) nounwind { %c = fcmp ule double %x, 0.000000e+00 %d = select i1 %c, double %x, double 0.000000e+00 @@ -398,11 +398,11 @@ define double @x_ule(double %x) nounwind { ; CHECK-NEXT: minsd %xmm0, %xmm1 ; CHECK-NEXT: movapd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: x_uge_inverse: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: minsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_uge_inverse: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: minsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_uge_inverse(double %x) nounwind { %c = fcmp uge double %x, 0.000000e+00 %d = select i1 %c, double 0.000000e+00, double %x @@ -414,11 +414,11 @@ define double @x_uge_inverse(double %x) nounwind { ; CHECK-NEXT: maxsd %xmm0, %xmm1 ; CHECK-NEXT: movapd %xmm1, %xmm0 ; CHECK-NEXT: ret -; uNSAFE: x_ule_inverse: -; uNSAFE-NEXT: pxor %xmm1, %xmm1 -; uNSAFE-NEXT: maxsd %xmm0, %xmm1 -; uNSAFE-NEXT: movapd %xmm1, %xmm0 -; uNSAFE-NEXT: ret +; UNSAFE: x_ule_inverse: +; UNSAFE-NEXT: pxor %xmm1, %xmm1 +; UNSAFE-NEXT: maxsd %xmm0, %xmm1 +; UNSAFE-NEXT: movapd %xmm1, %xmm0 +; UNSAFE-NEXT: ret define double @x_ule_inverse(double %x) nounwind { %c = fcmp ule double %x, 0.000000e+00 %d = select i1 %c, double 0.000000e+00, double %x @@ -429,8 +429,8 @@ define double @x_ule_inverse(double %x) nounwind { ; CHECK: clampTo3k_a: ; CHECK: minsd -; uNSAFE: clampTo3k_a: -; uNSAFE: minsd +; UNSAFE: clampTo3k_a: +; UNSAFE: minsd define double @clampTo3k_a(double %x) nounwind readnone { entry: %0 = fcmp ogt double %x, 3.000000e+03 ; [#uses=1] @@ -440,8 +440,8 @@ entry: ; CHECK: clampTo3k_b: ; CHECK: minsd -; uNSAFE: clampTo3k_b: -; uNSAFE: minsd +; UNSAFE: clampTo3k_b: +; UNSAFE: minsd define double @clampTo3k_b(double %x) nounwind readnone { entry: %0 = fcmp uge double %x, 3.000000e+03 ; [#uses=1] @@ -451,8 +451,8 @@ entry: ; CHECK: clampTo3k_c: ; CHECK: maxsd -; uNSAFE: clampTo3k_c: -; uNSAFE: maxsd +; UNSAFE: clampTo3k_c: +; UNSAFE: maxsd define double @clampTo3k_c(double %x) nounwind readnone { entry: %0 = fcmp olt double %x, 3.000000e+03 ; [#uses=1] @@ -462,8 +462,8 @@ entry: ; CHECK: clampTo3k_d: ; CHECK: maxsd -; uNSAFE: clampTo3k_d: -; uNSAFE: maxsd +; UNSAFE: clampTo3k_d: +; UNSAFE: maxsd define double @clampTo3k_d(double %x) nounwind readnone { entry: %0 = fcmp ule double %x, 3.000000e+03 ; [#uses=1] @@ -473,8 +473,8 @@ entry: ; CHECK: clampTo3k_e: ; CHECK: maxsd -; uNSAFE: clampTo3k_e: -; uNSAFE: maxsd +; UNSAFE: clampTo3k_e: +; UNSAFE: maxsd define double @clampTo3k_e(double %x) nounwind readnone { entry: %0 = fcmp olt double %x, 3.000000e+03 ; [#uses=1] @@ -484,8 +484,8 @@ entry: ; CHECK: clampTo3k_f: ; CHECK: maxsd -; uNSAFE: clampTo3k_f: -; uNSAFE: maxsd +; UNSAFE: clampTo3k_f: +; UNSAFE: maxsd define double @clampTo3k_f(double %x) nounwind readnone { entry: %0 = fcmp ule double %x, 3.000000e+03 ; [#uses=1] @@ -495,8 +495,8 @@ entry: ; CHECK: clampTo3k_g: ; CHECK: minsd -; uNSAFE: clampTo3k_g: -; uNSAFE: minsd +; UNSAFE: clampTo3k_g: +; UNSAFE: minsd define double @clampTo3k_g(double %x) nounwind readnone { entry: %0 = fcmp ogt double %x, 3.000000e+03 ; [#uses=1] @@ -506,8 +506,8 @@ entry: ; CHECK: clampTo3k_h: ; CHECK: minsd -; uNSAFE: clampTo3k_h: -; uNSAFE: minsd +; UNSAFE: clampTo3k_h: +; UNSAFE: minsd define double @clampTo3k_h(double %x) nounwind readnone { entry: %0 = fcmp uge double %x, 3.000000e+03 ; [#uses=1]