mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-19 23:23:38 -04:00
d326b55fd2
Also, add a FIXME for the unsafe transform on a unary FNeg. A unary FNeg can only be transformed to a FMul by -1.0 when the nnan flag is present. The unary FNeg project is a WIP, so the unsafe transformation is acceptable until that work is complete. The bogus assert with introduced in D63445. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363998 91177308-0d34-0410-b5e6-96231b3b80d8
19 lines
626 B
LLVM
19 lines
626 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
|
; RUN: opt < %s -reassociate -S | FileCheck %s
|
|
|
|
define float @wibble(float %tmp6) #0 {
|
|
; CHECK-LABEL: @wibble(
|
|
; CHECK-NEXT: bb:
|
|
; CHECK-NEXT: [[TMP7:%.*]] = fmul float [[TMP6:%.*]], -1.000000e+00
|
|
; CHECK-NEXT: [[TMP0:%.*]] = fsub float -0.000000e+00, 0.000000e+00
|
|
; CHECK-NEXT: [[TMP9:%.*]] = fmul fast float [[TMP6]], 0xFFF0000000000000
|
|
; CHECK-NEXT: ret float [[TMP9]]
|
|
;
|
|
bb:
|
|
%tmp7 = fsub float -0.000000e+00, %tmp6
|
|
%tmp9 = fmul fast float %tmp7, 0x7FF0000000000000
|
|
ret float %tmp9
|
|
}
|
|
|
|
attributes #0 = { "use-soft-float"="false" }
|