1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/test/Transforms/InstSimplify/fdiv.ll
Sanjay Patel 69e6407cba [InstSimplify] add constant folding for fdiv/frem
Also, add a helper function so we don't have to repeat this code for each binop.

llvm-svn: 299309
2017-04-01 19:05:11 +00:00

37 lines
798 B
LLVM

; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -instsimplify -S | FileCheck %s
define float @fdiv_constant_fold() {
; CHECK-LABEL: @fdiv_constant_fold(
; CHECK-NEXT: ret float 1.500000e+00
;
%f = fdiv float 3.0, 2.0
ret float %f
}
define float @frem_constant_fold() {
; CHECK-LABEL: @frem_constant_fold(
; CHECK-NEXT: ret float 1.000000e+00
;
%f = frem float 3.0, 2.0
ret float %f
}
define double @fdiv_of_undef(double %X) {
; CHECK-LABEL: @fdiv_of_undef(
; CHECK-NEXT: ret double undef
;
; undef / X -> undef
%r = fdiv double undef, %X
ret double %r
}
define double @fdiv_by_undef(double %X) {
; CHECK-LABEL: @fdiv_by_undef(
; CHECK-NEXT: ret double undef
;
; X / undef -> undef
%r = fdiv double %X, undef
ret double %r
}