| OLD | NEW |
| 1 ; This tries to be a comprehensive test of f32 and f64 arith operations. | 1 ; This tries to be a comprehensive test of f32 and f64 arith operations. |
| 2 ; The CHECK lines are only checking for basic instruction patterns | 2 ; The CHECK lines are only checking for basic instruction patterns |
| 3 ; that should be present regardless of the optimization level, so | 3 ; that should be present regardless of the optimization level, so |
| 4 ; there are no special OPTM1 match lines. | 4 ; there are no special OPTM1 match lines. |
| 5 | 5 |
| 6 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 6 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
| 7 ; RUN: --target x8632 -i %s --args -O2 \ | 7 ; RUN: --target x8632 -i %s --args -O2 \ |
| 8 ; RUN: | %if --need=target_X8632 --command FileCheck %s | 8 ; RUN: | %if --need=target_X8632 --command FileCheck %s |
| 9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
| 10 ; RUN: --target x8632 -i %s --args -Om1 \ | 10 ; RUN: --target x8632 -i %s --args -Om1 \ |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 ; ARM32: vdiv.f64 d{{[0-9]+}}, d | 110 ; ARM32: vdiv.f64 d{{[0-9]+}}, d |
| 111 | 111 |
| 112 define internal float @remFloat(float %a, float %b) { | 112 define internal float @remFloat(float %a, float %b) { |
| 113 entry: | 113 entry: |
| 114 %div = frem float %a, %b | 114 %div = frem float %a, %b |
| 115 ret float %div | 115 ret float %div |
| 116 } | 116 } |
| 117 ; CHECK-LABEL: remFloat | 117 ; CHECK-LABEL: remFloat |
| 118 ; CHECK: call {{.*}} R_{{.*}} fmodf | 118 ; CHECK: call {{.*}} R_{{.*}} fmodf |
| 119 ; ARM32-LABEL: remFloat | 119 ; ARM32-LABEL: remFloat |
| 120 ; ARM32: movw {{.+}} fmodf | 120 ; ARM32: bl {{.*}} fmodf |
| 121 ; ARM32: movt | |
| 122 ; ARM32: blx | |
| 123 | 121 |
| 124 define internal double @remDouble(double %a, double %b) { | 122 define internal double @remDouble(double %a, double %b) { |
| 125 entry: | 123 entry: |
| 126 %div = frem double %a, %b | 124 %div = frem double %a, %b |
| 127 ret double %div | 125 ret double %div |
| 128 } | 126 } |
| 129 ; CHECK-LABEL: remDouble | 127 ; CHECK-LABEL: remDouble |
| 130 ; CHECK: call {{.*}} R_{{.*}} fmod | 128 ; CHECK: call {{.*}} R_{{.*}} fmod |
| 131 ; ARM32-LABEL: remDouble | 129 ; ARM32-LABEL: remDouble |
| 132 ; ARM32: movw {{.+}} fmod | 130 ; ARM32: bl {{.*}} fmod |
| 133 ; ARM32: movt | |
| 134 ; ARM32: blx | |
| OLD | NEW |