blob: 6643afd81471111a065e59633507a87e4c734fc7 [file] [log] [blame]
Sanjay Patelee0f5cc2017-04-01 18:44:03 +00001; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
Frits van Bommelc2549662011-01-29 15:26:31 +00002; RUN: opt < %s -instsimplify -S | FileCheck %s
3
Sanjay Patelee0f5cc2017-04-01 18:44:03 +00004define float @fdiv_constant_fold() {
5; CHECK-LABEL: @fdiv_constant_fold(
Sanjay Patel8b5ad3f2017-04-01 19:05:11 +00006; CHECK-NEXT: ret float 1.500000e+00
Sanjay Patelee0f5cc2017-04-01 18:44:03 +00007;
8 %f = fdiv float 3.0, 2.0
9 ret float %f
10}
11
12define float @frem_constant_fold() {
13; CHECK-LABEL: @frem_constant_fold(
Sanjay Patel8b5ad3f2017-04-01 19:05:11 +000014; CHECK-NEXT: ret float 1.000000e+00
Sanjay Patelee0f5cc2017-04-01 18:44:03 +000015;
16 %f = frem float 3.0, 2.0
17 ret float %f
18}
19
Frits van Bommelc2549662011-01-29 15:26:31 +000020define double @fdiv_of_undef(double %X) {
Stephen Linc1c7a132013-07-14 01:42:54 +000021; CHECK-LABEL: @fdiv_of_undef(
Sanjay Patelee0f5cc2017-04-01 18:44:03 +000022; CHECK-NEXT: ret double undef
Sanjay Patel69632442016-03-25 20:12:25 +000023;
Frits van Bommelc2549662011-01-29 15:26:31 +000024; undef / X -> undef
25 %r = fdiv double undef, %X
26 ret double %r
Frits van Bommelc2549662011-01-29 15:26:31 +000027}
28
29define double @fdiv_by_undef(double %X) {
Stephen Linc1c7a132013-07-14 01:42:54 +000030; CHECK-LABEL: @fdiv_by_undef(
Sanjay Patelee0f5cc2017-04-01 18:44:03 +000031; CHECK-NEXT: ret double undef
Sanjay Patel69632442016-03-25 20:12:25 +000032;
Frits van Bommelc2549662011-01-29 15:26:31 +000033; X / undef -> undef
34 %r = fdiv double %X, undef
35 ret double %r
Frits van Bommelc2549662011-01-29 15:26:31 +000036}