mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
2cf0fdf2f6
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. llvm-svn: 363998
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" }
|