| # RUN: llc -mtriple=amdgcn-mesa-mesa3d -run-pass=legalizer %s -o - | FileCheck %s |
| |
| --- |
| name: test_insert_lo32_i64 |
| body: | |
| bb.0.entry: |
| liveins: $vgpr0_vgpr1, $vgpr2 |
| |
| ; CHECK-LABEL: name: test_insert_lo32_i64 |
| ; CHECK: %2:_(s64) = G_INSERT %0, %1(s32), 0 |
| %0:_(s64) = COPY $vgpr0_vgpr1 |
| %1:_(s32) = COPY $vgpr2 |
| %2:_(s64) = G_INSERT %0, %1, 0 |
| S_ENDPGM implicit %2 |
| ... |
| --- |
| name: test_insert_hi32_i64 |
| body: | |
| bb.0.entry: |
| liveins: $vgpr0_vgpr1, $vgpr2 |
| |
| ; CHECK-LABEL: name: test_insert_hi32_i64 |
| ; CHECK: %2:_(s64) = G_INSERT %0, %1(s32), 32 |
| %0:_(s64) = COPY $vgpr0_vgpr1 |
| %1:_(s32) = COPY $vgpr2 |
| %2:_(s64) = G_INSERT %0, %1, 32 |
| S_ENDPGM implicit %2 |
| ... |
| |
| --- |
| name: test_insert_dword0_i128 |
| body: | |
| bb.0.entry: |
| liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr4 |
| |
| ; CHECK-LABEL: name: test_insert_dword0_i128 |
| ; CHECK: %2:_(s128) = G_INSERT %0, %1(s32), 0 |
| %0:_(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3 |
| %1:_(s32) = COPY $vgpr4 |
| %2:_(s128) = G_INSERT %0, %1, 0 |
| S_ENDPGM implicit %2 |
| ... |
| |
| --- |
| name: test_insert_dword1_i128 |
| body: | |
| bb.0.entry: |
| liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr4 |
| |
| ; CHECK-LABEL: name: test_insert_dword1_i128 |
| ; CHECK: %2:_(s128) = G_INSERT %0, %1(s32), 32 |
| %0:_(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3 |
| %1:_(s32) = COPY $vgpr4 |
| %2:_(s128) = G_INSERT %0, %1, 32 |
| S_ENDPGM implicit %2 |
| ... |
| |
| --- |
| name: test_insert_dword2_i128 |
| body: | |
| bb.0.entry: |
| liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr4 |
| |
| ; CHECK-LABEL: name: test_insert_dword2_i128 |
| ; CHECK: %2:_(s128) = G_INSERT %0, %1(s32), 64 |
| %0:_(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3 |
| %1:_(s32) = COPY $vgpr4 |
| %2:_(s128) = G_INSERT %0, %1, 64 |
| S_ENDPGM implicit %2 |
| ... |
| |
| --- |
| name: test_insert_dword3_i128 |
| body: | |
| bb.0.entry: |
| liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr4 |
| |
| ; CHECK-LABEL: name: test_insert_dword3_i128 |
| ; CHECK: %2:_(s128) = G_INSERT %0, %1(s32), 96 |
| %0:_(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3 |
| %1:_(s32) = COPY $vgpr4 |
| %2:_(s128) = G_INSERT %0, %1, 96 |
| S_ENDPGM implicit %2 |
| ... |
| --- |
| name: test_insert_dword0_i96 |
| body: | |
| bb.0.entry: |
| liveins: $vgpr0_vgpr1_vgpr2, $vgpr3 |
| |
| ; CHECK-LABEL: name: test_insert_dword0_i96 |
| ; CHECK: %2:_(s96) = G_INSERT %0, %1(s32), 0 |
| %0:_(s96) = COPY $vgpr0_vgpr1_vgpr2 |
| %1:_(s32) = COPY $vgpr3 |
| %2:_(s96) = G_INSERT %0, %1, 0 |
| S_ENDPGM implicit %2 |
| ... |
| --- |
| name: test_insert_dword1_i96 |
| body: | |
| bb.0.entry: |
| liveins: $vgpr0_vgpr1_vgpr2, $vgpr3 |
| |
| ; CHECK-LABEL: name: test_insert_dword1_i96 |
| ; CHECK: %2:_(s96) = G_INSERT %0, %1(s32), 32 |
| %0:_(s96) = COPY $vgpr0_vgpr1_vgpr2 |
| %1:_(s32) = COPY $vgpr3 |
| %2:_(s96) = G_INSERT %0, %1, 32 |
| S_ENDPGM implicit %2 |
| ... |
| --- |
| name: test_insert_dword2_i96 |
| body: | |
| bb.0.entry: |
| liveins: $vgpr0_vgpr1_vgpr2, $vgpr3 |
| |
| ; CHECK-LABEL: name: test_insert_dword2_i96 |
| ; CHECK: %2:_(s96) = G_INSERT %0, %1(s32), 64 |
| %0:_(s96) = COPY $vgpr0_vgpr1_vgpr2 |
| %1:_(s32) = COPY $vgpr3 |
| %2:_(s96) = G_INSERT %0, %1, 64 |
| S_ENDPGM implicit %2 |
| ... |