|
1 |
| -; RUN: llc -mtriple=amdgcn -verify-machineinstrs -simplifycfg-require-and-preserve-domtree=1 < %s | FileCheck -check-prefix=GCN %s |
2 |
| -; RUN: llc -mtriple=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs -simplifycfg-require-and-preserve-domtree=1 < %s | FileCheck -check-prefix=GCN %s |
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 |
| 2 | +; RUN: llc -mtriple=amdgcn -mcpu=tahiti -simplifycfg-require-and-preserve-domtree=1 < %s | FileCheck -check-prefix=GCN %s |
| 3 | +; RUN: llc -mtriple=amdgcn -mcpu=tonga -simplifycfg-require-and-preserve-domtree=1 < %s | FileCheck -check-prefix=GCN %s |
3 | 4 |
|
4 | 5 | ; This used to crash because during intermediate control flow lowering, there
|
5 | 6 | ; was a sequence
|
|
9 | 10 | ; s_mov_b64_term exec, s[2:3]
|
10 | 11 | ; that was not treated correctly.
|
11 | 12 | ;
|
12 |
| -; GCN-LABEL: {{^}}ham: |
13 |
| -; GCN-DAG: v_cmp_lt_f32_e64 [[OTHERCC:s\[[0-9]+:[0-9]+\]]], |
14 |
| -; GCN-DAG: v_cmp_lt_f32_e32 vcc, |
15 |
| -; GCN: s_and_b64 [[AND:s\[[0-9]+:[0-9]+\]]], vcc, [[OTHERCC]] |
16 |
| -; GCN: s_and_saveexec_b64 [[SAVED:s\[[0-9]+:[0-9]+\]]], [[AND]] |
17 |
| -; GCN-NEXT: s_cbranch_execz .LBB0_{{[0-9]+}} |
18 |
| - |
19 |
| -; GCN-NEXT: ; %bb.{{[0-9]+}}: ; %bb4 |
20 |
| -; GCN: ds_write_b32 |
21 |
| - |
22 |
| -; GCN: .LBB0_{{[0-9]+}}: ; %UnifiedReturnBlock |
23 |
| -; GCN-NEXT: s_endpgm |
24 |
| -; GCN-NEXT: .Lfunc_end |
25 | 13 | define amdgpu_ps void @ham(float %arg, float %arg1) #0 {
|
| 14 | +; GCN-LABEL: ham: |
| 15 | +; GCN: ; %bb.0: ; %bb |
| 16 | +; GCN-NEXT: v_cmp_lt_f32_e32 vcc, 0, v0 |
| 17 | +; GCN-NEXT: v_cmp_lt_f32_e64 s[0:1], 0, v1 |
| 18 | +; GCN-NEXT: s_and_b64 s[0:1], vcc, s[0:1] |
| 19 | +; GCN-NEXT: s_and_saveexec_b64 s[2:3], s[0:1] |
| 20 | +; GCN-NEXT: s_cbranch_execz .LBB0_2 |
| 21 | +; GCN-NEXT: ; %bb.1: ; %bb4 |
| 22 | +; GCN-NEXT: v_mov_b32_e32 v0, 4 |
| 23 | +; GCN-NEXT: s_mov_b32 m0, -1 |
| 24 | +; GCN-NEXT: ds_write_b32 v0, v0 |
| 25 | +; GCN-NEXT: ; divergent unreachable |
| 26 | +; GCN-NEXT: .LBB0_2: ; %UnifiedReturnBlock |
| 27 | +; GCN-NEXT: s_endpgm |
26 | 28 | bb:
|
27 | 29 | %tmp = fcmp ogt float %arg, 0.000000e+00
|
28 | 30 | %tmp2 = fcmp ogt float %arg1, 0.000000e+00
|
|
0 commit comments