# RUN: llc -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=ALL
--- |
  define <16 x i16> @test_mul_v16i16(<16 x i16> %arg1, <16 x i16> %arg2) #0 {
    %ret = mul <16 x i16> %arg1, %arg2
    ret <16 x i16> %ret
  }

  define <8 x i32> @test_mul_v8i32(<8 x i32> %arg1, <8 x i32> %arg2) #0 {
    %ret = mul <8 x i32> %arg1, %arg2
    ret <8 x i32> %ret
  }

  define <4 x i64> @test_mul_v4i64(<4 x i64> %arg1, <4 x i64> %arg2) #1 {
    %ret = mul <4 x i64> %arg1, %arg2
    ret <4 x i64> %ret
  }

  attributes #0 = { "target-features"="+avx2" }
  attributes #1 = { "target-features"="+avx2,+avx512vl,+avx512f,+avx512dq" }

...
---
name:            test_mul_v16i16
# ALL-LABEL: name:  test_mul_v16i16
alignment:       16
legalized:       false
regBankSelected: false
# ALL:      registers:
# ALL-NEXT:   - { id: 0, class: _, preferred-register: '' }
# ALL-NEXT:   - { id: 1, class: _, preferred-register: '' }
# ALL-NEXT:   - { id: 2, class: _, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
# ALL:          %0:_(<16 x s16>) = COPY $ymm0
# ALL-NEXT:     %1:_(<16 x s16>) = COPY $ymm1
# ALL-NEXT:     %2:_(<16 x s16>) = G_MUL %0, %1
# ALL-NEXT:     $ymm0 = COPY %2(<16 x s16>)
# ALL-NEXT:     RET 0, implicit $ymm0
body:             |
  bb.1 (%ir-block.0):
    liveins: $ymm0, $ymm1

    %0(<16 x s16>) = COPY $ymm0
    %1(<16 x s16>) = COPY $ymm1
    %2(<16 x s16>) = G_MUL %0, %1
    $ymm0 = COPY %2(<16 x s16>)
    RET 0, implicit $ymm0

...
---
name:            test_mul_v8i32
# ALL-LABEL: name:  test_mul_v8i32
alignment:       16
legalized:       false
regBankSelected: false
# ALL:      registers:
# ALL-NEXT:   - { id: 0, class: _, preferred-register: '' }
# ALL-NEXT:   - { id: 1, class: _, preferred-register: '' }
# ALL-NEXT:   - { id: 2, class: _, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
# ALL:          %0:_(<8 x s32>) = COPY $ymm0
# ALL-NEXT:     %1:_(<8 x s32>) = COPY $ymm1
# ALL-NEXT:     %2:_(<8 x s32>) = G_MUL %0, %1
# ALL-NEXT:     $ymm0 = COPY %2(<8 x s32>)
# ALL-NEXT:     RET 0, implicit $ymm0
body:             |
  bb.1 (%ir-block.0):
    liveins: $ymm0, $ymm1

    %0(<8 x s32>) = COPY $ymm0
    %1(<8 x s32>) = COPY $ymm1
    %2(<8 x s32>) = G_MUL %0, %1
    $ymm0 = COPY %2(<8 x s32>)
    RET 0, implicit $ymm0

...
---
name:            test_mul_v4i64
# ALL-LABEL: name:  test_mul_v4i64
alignment:       16
legalized:       false
regBankSelected: false
# ALL:      registers:
# ALL-NEXT:   - { id: 0, class: _, preferred-register: '' }
# ALL-NEXT:   - { id: 1, class: _, preferred-register: '' }
# ALL-NEXT:   - { id: 2, class: _, preferred-register: '' }
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
  - { id: 2, class: _ }
# ALL:          %0:_(<4 x s64>) = COPY $ymm0
# ALL-NEXT:     %1:_(<4 x s64>) = COPY $ymm1
# ALL-NEXT:     %2:_(<4 x s64>) = G_MUL %0, %1
# ALL-NEXT:     $ymm0 = COPY %2(<4 x s64>)
# ALL-NEXT:     RET 0, implicit $ymm0
body:             |
  bb.1 (%ir-block.0):
    liveins: $ymm0, $ymm1

    %0(<4 x s64>) = COPY $ymm0
    %1(<4 x s64>) = COPY $ymm1
    %2(<4 x s64>) = G_MUL %0, %1
    $ymm0 = COPY %2(<4 x s64>)
    RET 0, implicit $ymm0

...
