forked from OSchip/llvm-project
37 lines
798 B
LLVM
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
|
|
}
|