| # 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-compress -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-compress -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-compress -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-compress -mtriple=x86_64-unknown-unknown -run-pass=break-false-deps %s -o - | FileCheck %s --check-prefixes=FAST,ALL |
| |
| --- |
| name: compressb_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: compressb_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPCOMPRESSBZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: compressb_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPCOMPRESSBZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPCOMPRESSBZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: compressb_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: compressb_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPCOMPRESSBZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: compressb_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPCOMPRESSBZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPCOMPRESSBZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: compressb_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: compressb_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPCOMPRESSBZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: compressb_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPCOMPRESSBZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPCOMPRESSBZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: compressw_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: compressw_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPCOMPRESSWZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: compressw_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPCOMPRESSWZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPCOMPRESSWZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: compressw_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: compressw_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPCOMPRESSWZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: compressw_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPCOMPRESSWZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPCOMPRESSWZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: compressw_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: compressw_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPCOMPRESSWZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: compressw_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPCOMPRESSWZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPCOMPRESSWZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: compressd_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: compressd_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPCOMPRESSDZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: compressd_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPCOMPRESSDZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPCOMPRESSDZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: compressd_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: compressd_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPCOMPRESSDZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: compressd_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPCOMPRESSDZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPCOMPRESSDZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: compressd_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: compressd_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPCOMPRESSDZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: compressd_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPCOMPRESSDZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPCOMPRESSDZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: compressq_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: compressq_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VPCOMPRESSQZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: compressq_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VPCOMPRESSQZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPCOMPRESSQZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: compressq_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: compressq_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VPCOMPRESSQZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: compressq_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VPCOMPRESSQZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPCOMPRESSQZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: compressq_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: compressq_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VPCOMPRESSQZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: compressq_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VPCOMPRESSQZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPCOMPRESSQZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: compressps_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: compressps_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VCOMPRESSPSZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: compressps_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VCOMPRESSPSZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VCOMPRESSPSZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: compressps_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: compressps_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VCOMPRESSPSZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: compressps_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VCOMPRESSPSZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VCOMPRESSPSZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: compressps_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: compressps_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VCOMPRESSPSZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: compressps_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VCOMPRESSPSZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VCOMPRESSPSZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: compresspd_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm0, $xmm1 |
| ; FAST-LABEL: name: compresspd_rrz_128 |
| ; FAST: liveins: $k1, $xmm0, $xmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $xmm0 = VCOMPRESSPDZ128rrkz killed $k1, killed $xmm1 |
| ; FAST-NEXT: RET64 killed $xmm0 |
| ; |
| ; SLOW-LABEL: name: compresspd_rrz_128 |
| ; SLOW: liveins: $k1, $xmm0, $xmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0 |
| ; SLOW-NEXT: $xmm0 = VCOMPRESSPDZ128rrkz killed $k1, killed $xmm1, implicit killed $xmm0 |
| ; SLOW-NEXT: RET64 killed $xmm0 |
| $xmm0 = VCOMPRESSPDZ128rrkz killed $k1, killed $xmm1 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: compresspd_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm0, $ymm1 |
| ; FAST-LABEL: name: compresspd_rrz_256 |
| ; FAST: liveins: $k1, $ymm0, $ymm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $ymm0 = VCOMPRESSPDZ256rrkz killed $k1, killed $ymm1 |
| ; FAST-NEXT: RET64 killed $ymm0 |
| ; |
| ; SLOW-LABEL: name: compresspd_rrz_256 |
| ; SLOW: liveins: $k1, $ymm0, $ymm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VXORPSrr undef $xmm0, undef $xmm0, implicit-def $ymm0 |
| ; SLOW-NEXT: $ymm0 = VCOMPRESSPDZ256rrkz killed $k1, killed $ymm1, implicit killed $ymm0 |
| ; SLOW-NEXT: RET64 killed $ymm0 |
| $ymm0 = VCOMPRESSPDZ256rrkz killed $k1, killed $ymm1 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: compresspd_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm0, $zmm1 |
| ; FAST-LABEL: name: compresspd_rrz_512 |
| ; FAST: liveins: $k1, $zmm0, $zmm1 |
| ; FAST-NEXT: {{ $}} |
| ; FAST-NEXT: $zmm0 = VCOMPRESSPDZrrkz killed $k1, killed $zmm1 |
| ; FAST-NEXT: RET64 killed $zmm0 |
| ; |
| ; SLOW-LABEL: name: compresspd_rrz_512 |
| ; SLOW: liveins: $k1, $zmm0, $zmm1 |
| ; SLOW-NEXT: {{ $}} |
| ; SLOW-NEXT: $xmm0 = VPXORDZ128rr undef $xmm0, undef $xmm0, implicit-def $zmm0 |
| ; SLOW-NEXT: $zmm0 = VCOMPRESSPDZrrkz killed $k1, killed $zmm1, implicit killed $zmm0 |
| ; SLOW-NEXT: RET64 killed $zmm0 |
| $zmm0 = VCOMPRESSPDZrrkz killed $k1, killed $zmm1 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_compressb_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_compressb_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPCOMPRESSBZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VPCOMPRESSBZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPCOMPRESSBZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VPCOMPRESSBZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_compressb_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_compressb_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPCOMPRESSBZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VPCOMPRESSBZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPCOMPRESSBZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VPCOMPRESSBZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_compressb_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_compressb_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPCOMPRESSBZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VPCOMPRESSBZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPCOMPRESSBZrrkz $k1, killed $zmm1 |
| $zmm0 = VPCOMPRESSBZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_compressw_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_compressw_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPCOMPRESSWZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VPCOMPRESSWZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPCOMPRESSWZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VPCOMPRESSWZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_compressw_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_compressw_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPCOMPRESSWZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VPCOMPRESSWZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPCOMPRESSWZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VPCOMPRESSWZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_compressw_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_compressw_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPCOMPRESSWZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VPCOMPRESSWZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPCOMPRESSWZrrkz $k1, killed $zmm1 |
| $zmm0 = VPCOMPRESSWZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_compressd_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_compressd_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPCOMPRESSDZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VPCOMPRESSDZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPCOMPRESSDZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VPCOMPRESSDZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_compressd_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_compressd_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPCOMPRESSDZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VPCOMPRESSDZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPCOMPRESSDZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VPCOMPRESSDZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_compressd_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_compressd_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPCOMPRESSDZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VPCOMPRESSDZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPCOMPRESSDZrrkz $k1, killed $zmm1 |
| $zmm0 = VPCOMPRESSDZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_compressq_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_compressq_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VPCOMPRESSQZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VPCOMPRESSQZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VPCOMPRESSQZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VPCOMPRESSQZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_compressq_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_compressq_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VPCOMPRESSQZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VPCOMPRESSQZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VPCOMPRESSQZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VPCOMPRESSQZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_compressq_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_compressq_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VPCOMPRESSQZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VPCOMPRESSQZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VPCOMPRESSQZrrkz $k1, killed $zmm1 |
| $zmm0 = VPCOMPRESSQZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_compressps_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_compressps_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VCOMPRESSPSZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VCOMPRESSPSZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VCOMPRESSPSZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VCOMPRESSPSZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_compressps_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_compressps_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VCOMPRESSPSZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VCOMPRESSPSZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VCOMPRESSPSZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VCOMPRESSPSZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_compressps_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_compressps_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VCOMPRESSPSZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VCOMPRESSPSZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VCOMPRESSPSZrrkz $k1, killed $zmm1 |
| $zmm0 = VCOMPRESSPSZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |
| --- |
| name: no_break_compresspd_rrz_128 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $xmm1 |
| ; ALL-LABEL: name: no_break_compresspd_rrz_128 |
| ; ALL: liveins: $k1, $xmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $xmm0 = VCOMPRESSPDZ128rrkz $k1, killed $xmm1 |
| ; ALL-NEXT: $xmm0 = VCOMPRESSPDZ128rrkz killed $k1, killed $xmm0 |
| ; ALL-NEXT: RET64 killed $xmm0 |
| $xmm0 = VCOMPRESSPDZ128rrkz $k1, killed $xmm1 |
| $xmm0 = VCOMPRESSPDZ128rrkz killed $k1, killed $xmm0 |
| RET64 killed $xmm0 |
| ... |
| --- |
| name: no_break_compresspd_rrz_256 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $ymm1 |
| ; ALL-LABEL: name: no_break_compresspd_rrz_256 |
| ; ALL: liveins: $k1, $ymm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $ymm0 = VCOMPRESSPDZ256rrkz $k1, killed $ymm1 |
| ; ALL-NEXT: $ymm0 = VCOMPRESSPDZ256rrkz killed $k1, killed $ymm0 |
| ; ALL-NEXT: RET64 killed $ymm0 |
| $ymm0 = VCOMPRESSPDZ256rrkz $k1, killed $ymm1 |
| $ymm0 = VCOMPRESSPDZ256rrkz killed $k1, killed $ymm0 |
| RET64 killed $ymm0 |
| ... |
| --- |
| name: no_break_compresspd_rrz_512 |
| tracksRegLiveness: true |
| registers: [] |
| body: | |
| bb.0: |
| liveins: $k1, $zmm1 |
| ; ALL-LABEL: name: no_break_compresspd_rrz_512 |
| ; ALL: liveins: $k1, $zmm1 |
| ; ALL-NEXT: {{ $}} |
| ; ALL-NEXT: $zmm0 = VCOMPRESSPDZrrkz $k1, killed $zmm1 |
| ; ALL-NEXT: $zmm0 = VCOMPRESSPDZrrkz killed $k1, killed $zmm0 |
| ; ALL-NEXT: RET64 killed $zmm0 |
| $zmm0 = VCOMPRESSPDZrrkz $k1, killed $zmm1 |
| $zmm0 = VCOMPRESSPDZrrkz killed $k1, killed $zmm0 |
| RET64 killed $zmm0 |
| ... |