| # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6 |
| # RUN: llc -verify-machineinstrs -mcpu=x86-64-v4 -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=FAST,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=x86-64-v4 -mattr=+false-deps-expand -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=SLOW,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=skylake-avx512 -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=FAST,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=icelake-client -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=FAST,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=sapphirerapids -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=FAST,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=emeraldrapids -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=FAST,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=graniterapids -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=FAST,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=znver4 -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=SLOW,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=znver4 -mattr=-false-deps-expand -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=FAST,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=znver5 -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=SLOW,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=znver5 -mattr=-false-deps-expand -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=FAST,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=znver6 -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=SLOW,ALL |
| # RUN: llc -verify-machineinstrs -mcpu=znver6 -mattr=-false-deps-expand -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=FAST,ALL |
| |
| --- |
| name: expandb_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: expandb_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPEXPANDBZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandb_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPEXPANDBZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDBZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandb_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: expandb_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPEXPANDBZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandb_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPEXPANDBZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDBZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandb_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: expandb_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPEXPANDBZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandb_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPEXPANDBZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDBZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: expandw_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: expandw_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPEXPANDWZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandw_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPEXPANDWZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDWZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandw_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: expandw_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPEXPANDWZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandw_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPEXPANDWZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDWZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandw_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: expandw_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPEXPANDWZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandw_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPEXPANDWZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDWZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: expandd_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: expandd_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPEXPANDDZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandd_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPEXPANDDZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDDZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandd_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: expandd_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPEXPANDDZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandd_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPEXPANDDZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDDZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandd_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: expandd_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPEXPANDDZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandd_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPEXPANDDZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDDZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: expandq_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: expandq_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPEXPANDQZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandq_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPEXPANDQZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDQZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandq_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: expandq_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPEXPANDQZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandq_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPEXPANDQZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDQZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandq_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: expandq_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPEXPANDQZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandq_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPEXPANDQZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDQZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: expandps_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: expandps_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VEXPANDPSZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandps_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VEXPANDPSZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VEXPANDPSZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandps_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: expandps_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VEXPANDPSZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandps_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VEXPANDPSZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VEXPANDPSZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandps_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: expandps_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VEXPANDPSZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandps_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VEXPANDPSZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VEXPANDPSZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: expandpd_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: expandpd_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VEXPANDPDZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandpd_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VEXPANDPDZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VEXPANDPDZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandpd_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: expandpd_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VEXPANDPDZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandpd_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VEXPANDPDZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VEXPANDPDZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandpd_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: expandpd_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VEXPANDPDZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandpd_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VEXPANDPDZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VEXPANDPDZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| |
| --- |
| name: expandb_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $rdi |
| ; FAST-LABEL: name: expandb_rmz_128 |
| ; FAST: liveins: $k1, $xmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPEXPANDBZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandb_rmz_128 |
| ; SLOW: liveins: $k1, $xmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPEXPANDBZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDBZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandb_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $rdi |
| ; FAST-LABEL: name: expandb_rmz_256 |
| ; FAST: liveins: $k1, $ymm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPEXPANDBZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandb_rmz_256 |
| ; SLOW: liveins: $k1, $ymm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPEXPANDBZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDBZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandb_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $rdi |
| ; FAST-LABEL: name: expandb_rmz_512 |
| ; FAST: liveins: $k1, $zmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPEXPANDBZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandb_rmz_512 |
| ; SLOW: liveins: $k1, $zmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPEXPANDBZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDBZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: expandw_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $rdi |
| ; FAST-LABEL: name: expandw_rmz_128 |
| ; FAST: liveins: $k1, $xmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPEXPANDWZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandw_rmz_128 |
| ; SLOW: liveins: $k1, $xmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPEXPANDWZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDWZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandw_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $rdi |
| ; FAST-LABEL: name: expandw_rmz_256 |
| ; FAST: liveins: $k1, $ymm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPEXPANDWZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandw_rmz_256 |
| ; SLOW: liveins: $k1, $ymm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPEXPANDWZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDWZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandw_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $rdi |
| ; FAST-LABEL: name: expandw_rmz_512 |
| ; FAST: liveins: $k1, $zmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPEXPANDWZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandw_rmz_512 |
| ; SLOW: liveins: $k1, $zmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPEXPANDWZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDWZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: expandd_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $rdi |
| ; FAST-LABEL: name: expandd_rmz_128 |
| ; FAST: liveins: $k1, $xmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPEXPANDDZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandd_rmz_128 |
| ; SLOW: liveins: $k1, $xmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPEXPANDDZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDDZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandd_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $rdi |
| ; FAST-LABEL: name: expandd_rmz_256 |
| ; FAST: liveins: $k1, $ymm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPEXPANDDZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandd_rmz_256 |
| ; SLOW: liveins: $k1, $ymm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPEXPANDDZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDDZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandd_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $rdi |
| ; FAST-LABEL: name: expandd_rmz_512 |
| ; FAST: liveins: $k1, $zmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPEXPANDDZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandd_rmz_512 |
| ; SLOW: liveins: $k1, $zmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPEXPANDDZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDDZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: expandq_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $rdi |
| ; FAST-LABEL: name: expandq_rmz_128 |
| ; FAST: liveins: $k1, $xmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPEXPANDQZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandq_rmz_128 |
| ; SLOW: liveins: $k1, $xmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPEXPANDQZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDQZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandq_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $rdi |
| ; FAST-LABEL: name: expandq_rmz_256 |
| ; FAST: liveins: $k1, $ymm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPEXPANDQZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandq_rmz_256 |
| ; SLOW: liveins: $k1, $ymm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPEXPANDQZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDQZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandq_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $rdi |
| ; FAST-LABEL: name: expandq_rmz_512 |
| ; FAST: liveins: $k1, $zmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPEXPANDQZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandq_rmz_512 |
| ; SLOW: liveins: $k1, $zmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPEXPANDQZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDQZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: expandps_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $rdi |
| ; FAST-LABEL: name: expandps_rmz_128 |
| ; FAST: liveins: $k1, $xmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VEXPANDPSZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandps_rmz_128 |
| ; SLOW: liveins: $k1, $xmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VEXPANDPSZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VEXPANDPSZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandps_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $rdi |
| ; FAST-LABEL: name: expandps_rmz_256 |
| ; FAST: liveins: $k1, $ymm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VEXPANDPSZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandps_rmz_256 |
| ; SLOW: liveins: $k1, $ymm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VEXPANDPSZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VEXPANDPSZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandps_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $rdi |
| ; FAST-LABEL: name: expandps_rmz_512 |
| ; FAST: liveins: $k1, $zmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VEXPANDPSZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandps_rmz_512 |
| ; SLOW: liveins: $k1, $zmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VEXPANDPSZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VEXPANDPSZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: expandpd_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $rdi |
| ; FAST-LABEL: name: expandpd_rmz_128 |
| ; FAST: liveins: $k1, $xmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VEXPANDPDZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: expandpd_rmz_128 |
| ; SLOW: liveins: $k1, $xmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VEXPANDPDZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VEXPANDPDZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: expandpd_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $rdi |
| ; FAST-LABEL: name: expandpd_rmz_256 |
| ; FAST: liveins: $k1, $ymm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VEXPANDPDZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: expandpd_rmz_256 |
| ; SLOW: liveins: $k1, $ymm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VEXPANDPDZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VEXPANDPDZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: expandpd_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $rdi |
| ; FAST-LABEL: name: expandpd_rmz_512 |
| ; FAST: liveins: $k1, $zmm0, $rdi |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VEXPANDPDZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: expandpd_rmz_512 |
| ; SLOW: liveins: $k1, $zmm0, $rdi |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VEXPANDPDZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VEXPANDPDZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| |
| --- |
| name: no_break_expandb_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_expandb_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPEXPANDBZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VPEXPANDBZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDBZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VPEXPANDBZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandb_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_expandb_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPEXPANDBZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VPEXPANDBZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDBZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VPEXPANDBZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandb_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_expandb_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPEXPANDBZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VPEXPANDBZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDBZrrkz $k1, killed $zmm1 |
| $zmm0 = VPEXPANDBZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_expandw_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_expandw_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPEXPANDWZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VPEXPANDWZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDWZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VPEXPANDWZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandw_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_expandw_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPEXPANDWZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VPEXPANDWZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDWZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VPEXPANDWZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandw_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_expandw_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPEXPANDWZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VPEXPANDWZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDWZrrkz $k1, killed $zmm1 |
| $zmm0 = VPEXPANDWZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_expandd_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_expandd_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPEXPANDDZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VPEXPANDDZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDDZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VPEXPANDDZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandd_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_expandd_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPEXPANDDZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VPEXPANDDZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDDZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VPEXPANDDZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandd_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_expandd_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPEXPANDDZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VPEXPANDDZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDDZrrkz $k1, killed $zmm1 |
| $zmm0 = VPEXPANDDZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_expandq_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_expandq_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPEXPANDQZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VPEXPANDQZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDQZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VPEXPANDQZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandq_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_expandq_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPEXPANDQZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VPEXPANDQZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDQZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VPEXPANDQZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandq_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_expandq_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPEXPANDQZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VPEXPANDQZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDQZrrkz $k1, killed $zmm1 |
| $zmm0 = VPEXPANDQZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_expandps_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_expandps_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VEXPANDPSZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VEXPANDPSZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VEXPANDPSZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VEXPANDPSZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandps_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_expandps_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VEXPANDPSZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VEXPANDPSZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VEXPANDPSZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VEXPANDPSZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandps_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_expandps_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VEXPANDPSZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VEXPANDPSZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VEXPANDPSZrrkz $k1, killed $zmm1 |
| $zmm0 = VEXPANDPSZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_expandpd_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_expandpd_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VEXPANDPDZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VEXPANDPDZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VEXPANDPDZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VEXPANDPDZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandpd_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_expandpd_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VEXPANDPDZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VEXPANDPDZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VEXPANDPDZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VEXPANDPDZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandpd_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_expandpd_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VEXPANDPDZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VEXPANDPDZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VEXPANDPDZrrkz $k1, killed $zmm1 |
| $zmm0 = VEXPANDPDZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| |
| --- |
| name: no_break_expandb_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandb_rmz_128 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPEXPANDBZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDBZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandb_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandb_rmz_256 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPEXPANDBZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDBZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandb_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandb_rmz_512 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPEXPANDBZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDBZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_expandw_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandw_rmz_128 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPEXPANDWZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDWZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandw_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandw_rmz_256 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPEXPANDWZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDWZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandw_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandw_rmz_512 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPEXPANDWZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDWZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_expandd_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandd_rmz_128 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPEXPANDDZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDDZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandd_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandd_rmz_256 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPEXPANDDZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDDZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandd_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandd_rmz_512 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPEXPANDDZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDDZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_expandq_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandq_rmz_128 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPEXPANDQZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPEXPANDQZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandq_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandq_rmz_256 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPEXPANDQZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPEXPANDQZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandq_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandq_rmz_512 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPEXPANDQZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPEXPANDQZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_expandps_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandps_rmz_128 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VEXPANDPSZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VEXPANDPSZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandps_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandps_rmz_256 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VEXPANDPSZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VEXPANDPSZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandps_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandps_rmz_512 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VEXPANDPSZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VEXPANDPSZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_expandpd_rmz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandpd_rmz_128 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VEXPANDPDZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VEXPANDPDZ128rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_expandpd_rmz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandpd_rmz_256 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VEXPANDPDZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VEXPANDPDZ256rmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_expandpd_rmz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $rdi |
| ; ALL-LABEL: name: no_break_expandpd_rmz_512 |
| ; ALL: liveins: $k1, $rdi |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VEXPANDPDZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VEXPANDPDZrmkz killed $k1, killed $rdi, 1, $noreg, 0, $noreg |
| RET64 killed $zmm0 |
| ... |