112 lines · plain
1# RUN: llc -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL2--- |3 define <16 x i16> @test_mul_v16i16(<16 x i16> %arg1, <16 x i16> %arg2) #0 {4 %ret = mul <16 x i16> %arg1, %arg25 ret <16 x i16> %ret6 }7 8 define <8 x i32> @test_mul_v8i32(<8 x i32> %arg1, <8 x i32> %arg2) #0 {9 %ret = mul <8 x i32> %arg1, %arg210 ret <8 x i32> %ret11 }12 13 define <4 x i64> @test_mul_v4i64(<4 x i64> %arg1, <4 x i64> %arg2) #1 {14 %ret = mul <4 x i64> %arg1, %arg215 ret <4 x i64> %ret16 }17 18 attributes #0 = { "target-features"="+avx2" }19 attributes #1 = { "target-features"="+avx2,+avx512vl,+avx512f,+avx512dq" }20 21...22---23name: test_mul_v16i1624# ALL-LABEL: name: test_mul_v16i1625alignment: 1626legalized: false27regBankSelected: false28# ALL: registers:29# ALL-NEXT: - { id: 0, class: _, preferred-register: '', flags: [ ] }30# ALL-NEXT: - { id: 1, class: _, preferred-register: '', flags: [ ] }31# ALL-NEXT: - { id: 2, class: _, preferred-register: '', flags: [ ] }32registers:33 - { id: 0, class: _ }34 - { id: 1, class: _ }35 - { id: 2, class: _ }36# ALL: %0:_(<16 x s16>) = COPY $ymm037# ALL-NEXT: %1:_(<16 x s16>) = COPY $ymm138# ALL-NEXT: %2:_(<16 x s16>) = G_MUL %0, %139# ALL-NEXT: $ymm0 = COPY %2(<16 x s16>)40# ALL-NEXT: RET 0, implicit $ymm041body: |42 bb.1 (%ir-block.0):43 liveins: $ymm0, $ymm144 45 %0(<16 x s16>) = COPY $ymm046 %1(<16 x s16>) = COPY $ymm147 %2(<16 x s16>) = G_MUL %0, %148 $ymm0 = COPY %2(<16 x s16>)49 RET 0, implicit $ymm050 51...52---53name: test_mul_v8i3254# ALL-LABEL: name: test_mul_v8i3255alignment: 1656legalized: false57regBankSelected: false58# ALL: registers:59# ALL-NEXT: - { id: 0, class: _, preferred-register: '', flags: [ ] }60# ALL-NEXT: - { id: 1, class: _, preferred-register: '', flags: [ ] }61# ALL-NEXT: - { id: 2, class: _, preferred-register: '', flags: [ ] }62registers:63 - { id: 0, class: _ }64 - { id: 1, class: _ }65 - { id: 2, class: _ }66# ALL: %0:_(<8 x s32>) = COPY $ymm067# ALL-NEXT: %1:_(<8 x s32>) = COPY $ymm168# ALL-NEXT: %2:_(<8 x s32>) = G_MUL %0, %169# ALL-NEXT: $ymm0 = COPY %2(<8 x s32>)70# ALL-NEXT: RET 0, implicit $ymm071body: |72 bb.1 (%ir-block.0):73 liveins: $ymm0, $ymm174 75 %0(<8 x s32>) = COPY $ymm076 %1(<8 x s32>) = COPY $ymm177 %2(<8 x s32>) = G_MUL %0, %178 $ymm0 = COPY %2(<8 x s32>)79 RET 0, implicit $ymm080 81...82---83name: test_mul_v4i6484# ALL-LABEL: name: test_mul_v4i6485alignment: 1686legalized: false87regBankSelected: false88# ALL: registers:89# ALL-NEXT: - { id: 0, class: _, preferred-register: '', flags: [ ] }90# ALL-NEXT: - { id: 1, class: _, preferred-register: '', flags: [ ] }91# ALL-NEXT: - { id: 2, class: _, preferred-register: '', flags: [ ] }92registers:93 - { id: 0, class: _ }94 - { id: 1, class: _ }95 - { id: 2, class: _ }96# ALL: %0:_(<4 x s64>) = COPY $ymm097# ALL-NEXT: %1:_(<4 x s64>) = COPY $ymm198# ALL-NEXT: %2:_(<4 x s64>) = G_MUL %0, %199# ALL-NEXT: $ymm0 = COPY %2(<4 x s64>)100# ALL-NEXT: RET 0, implicit $ymm0101body: |102 bb.1 (%ir-block.0):103 liveins: $ymm0, $ymm1104 105 %0(<4 x s64>) = COPY $ymm0106 %1(<4 x s64>) = COPY $ymm1107 %2(<4 x s64>) = G_MUL %0, %1108 $ymm0 = COPY %2(<4 x s64>)109 RET 0, implicit $ymm0110 111...112