| OLD | NEW |
| 1 ; This tries to be a comprehensive test of f32 and f64 operations. | 1 ; This tries to be a comprehensive test of f32 and f64 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: %llvm2ice -O2 --verbose none %s | FileCheck %s | 6 ; RUN: %llvm2ice -O2 --verbose none %s | FileCheck %s |
| 7 ; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck %s | 7 ; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck %s |
| 8 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 8 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
| 9 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s | 9 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
| 10 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ | 10 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 | 398 |
| 399 define internal float @unsigned64ToFloat(i64 %a) { | 399 define internal float @unsigned64ToFloat(i64 %a) { |
| 400 entry: | 400 entry: |
| 401 %conv = uitofp i64 %a to float | 401 %conv = uitofp i64 %a to float |
| 402 ret float %conv | 402 ret float %conv |
| 403 } | 403 } |
| 404 ; CHECK-LABEL: unsigned64ToFloat | 404 ; CHECK-LABEL: unsigned64ToFloat |
| 405 ; CHECK: call cvtui64tof | 405 ; CHECK: call cvtui64tof |
| 406 ; CHECK: fstp | 406 ; CHECK: fstp |
| 407 | 407 |
| 408 define internal double @unsigned64ToDoubleConst() { |
| 409 entry: |
| 410 %conv = uitofp i64 12345678901234 to double |
| 411 ret double %conv |
| 412 } |
| 413 ; CHECK-LABEL: unsigned64ToDouble |
| 414 ; CHECK: push 2874 |
| 415 ; CHECK: push 1942892530 |
| 416 ; CHECK: call cvtui64tod |
| 417 ; CHECK: fstp |
| 418 |
| 408 define internal double @signed32ToDouble(i32 %a) { | 419 define internal double @signed32ToDouble(i32 %a) { |
| 409 entry: | 420 entry: |
| 410 %conv = sitofp i32 %a to double | 421 %conv = sitofp i32 %a to double |
| 411 ret double %conv | 422 ret double %conv |
| 412 } | 423 } |
| 413 ; CHECK-LABEL: signed32ToDouble | 424 ; CHECK-LABEL: signed32ToDouble |
| 414 ; CHECK: cvtsi2sd | 425 ; CHECK: cvtsi2sd |
| 415 ; CHECK: fld | 426 ; CHECK: fld |
| 416 | 427 |
| 417 define internal float @signed32ToFloat(i32 %a) { | 428 define internal float @signed32ToFloat(i32 %a) { |
| (...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1112 %cond = select i1 %cmp, double %a, double %b | 1123 %cond = select i1 %cmp, double %a, double %b |
| 1113 ret double %cond | 1124 ret double %cond |
| 1114 } | 1125 } |
| 1115 ; CHECK-LABEL: selectDoubleVarVar | 1126 ; CHECK-LABEL: selectDoubleVarVar |
| 1116 ; CHECK: ucomisd | 1127 ; CHECK: ucomisd |
| 1117 ; CHECK: ja . | 1128 ; CHECK: ja . |
| 1118 ; CHECK: fld | 1129 ; CHECK: fld |
| 1119 | 1130 |
| 1120 ; ERRORS-NOT: ICE translation error | 1131 ; ERRORS-NOT: ICE translation error |
| 1121 ; DUMP-NOT: SZ | 1132 ; DUMP-NOT: SZ |
| OLD | NEW |