# RUN: llc -mtriple=x86_64-linux-gnu                                  -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NO_AVX512VL --check-prefix=NO_AVX512F --check-prefix=SSE
# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx                      -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NO_AVX512VL --check-prefix=NO_AVX512F --check-prefix=AVX
# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f                  -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NO_AVX512VL --check-prefix=AVX512ALL --check-prefix=AVX512F
# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f -mattr=+avx512vl -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX512ALL --check-prefix=AVX512VL

--- |
  define i64 @test_add_i64(i64 %arg1, i64 %arg2) {
    %ret = add i64 %arg1, %arg2
    ret i64 %ret
  }

  define i32 @test_add_i32(i32 %arg1, i32 %arg2) {
    %ret = add i32 %arg1, %arg2
    ret i32 %ret
  }

  define i16 @test_add_i16(i16 %arg1, i16 %arg2) {
    %ret = add i16 %arg1, %arg2
    ret i16 %ret
  }

  define i8 @test_add_i8(i8 %arg1, i8 %arg2) {
    %ret = add i8 %arg1, %arg2
    ret i8 %ret
  }

  define <4 x i32> @test_add_v4i32(<4 x i32> %arg1, <4 x i32> %arg2) {
    %ret = add <4 x i32> %arg1, %arg2
    ret <4 x i32> %ret
  }

  define <4 x float>  @test_add_v4f32(<4 x float> %arg1, <4 x float>  %arg2) {
    %ret = fadd <4 x float>  %arg1, %arg2
    ret <4 x float>  %ret
  }
...

---
name:            test_add_i64
# ALL-LABEL: name:            test_add_i64
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }
# ALL:      %0:gr64 = COPY $rdi
# ALL-NEXT: %1:gr64 = COPY $rsi
# ALL-NEXT: %2:gr64 = ADD64rr %0, %1
body:             |
  bb.1 (%ir-block.0):
    liveins: $edi, $esi

    %0(s64) = COPY $rdi
    %1(s64) = COPY $rsi
    %2(s64) = G_ADD %0, %1
    $rax = COPY %2(s64)

...

---
name:            test_add_i32
# ALL-LABEL: name:            test_add_i32
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }
# ALL:      %0:gr32 = COPY $edi
# ALL-NEXT: %1:gr32 = COPY $esi
# ALL-NEXT: %2:gr32 = ADD32rr %0, %1
body:             |
  bb.1 (%ir-block.0):
    liveins: $edi, $esi

    %0(s32) = COPY $edi
    %1(s32) = COPY $esi
    %2(s32) = G_ADD %0, %1
    $eax = COPY %2(s32)

...
---
name:            test_add_i16
# ALL-LABEL: name:            test_add_i16
alignment:       16
legalized:       true
regBankSelected: true
selected:        false
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }
# ALL: %0:gr16 = COPY $di
# ALL: %1:gr16 = COPY $si
# ALL: %2:gr16 = ADD16rr %0, %1, implicit-def $eflags
body:             |
  bb.1 (%ir-block.0):
    liveins: $edi, $esi

    %0(s16) = COPY $di
    %1(s16) = COPY $si
    %2(s16) = G_ADD %0, %1
    $ax = COPY %2(s16)
    RET 0, implicit $ax

...
---
name:            test_add_i8
# ALL-LABEL: name:            test_add_i8
alignment:       16
legalized:       true
regBankSelected: true
selected:        false
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }
# ALL: %0:gr8 = COPY $dil
# ALL: %1:gr8 = COPY $sil
# ALL: %2:gr8 = ADD8rr %0, %1, implicit-def $eflags
body:             |
  bb.1 (%ir-block.0):
    liveins: $edi, $esi

    %0(s8) = COPY $dil
    %1(s8) = COPY $sil
    %2(s8) = G_ADD %0, %1
    $al = COPY %2(s8)
    RET 0, implicit $al

...
---
name:            test_add_v4i32
# ALL-LABEL: name:            test_add_v4i32
alignment:       16
legalized:       true
regBankSelected: true
selected:        false
tracksRegLiveness: true
registers:
  - { id: 0, class: vecr }
  - { id: 1, class: vecr }
  - { id: 2, class: vecr }
# NO_AVX512VL:   %0:vr128 = COPY $xmm0
# NO_AVX512VL:   %1:vr128 = COPY $xmm1
# SSE-NEXT:      %2:vr128 = PADDDrr %0, %1
# AVX-NEXT:      %2:vr128 = VPADDDrr %0, %1
# AVX512F-NEXT:  %2:vr128 = VPADDDrr %0, %1
# AVX512VL:      %0:vr128x = COPY $xmm0
# AVX512VL:      %1:vr128x = COPY $xmm1
# AVX512VL-NEXT: %2:vr128x = VPADDDZ128rr %0, %1
body:             |
  bb.1 (%ir-block.0):
    liveins: $xmm0, $xmm1

    %0(<4 x s32>) = COPY $xmm0
    %1(<4 x s32>) = COPY $xmm1
    %2(<4 x s32>) = G_ADD %0, %1
    $xmm0 = COPY %2(<4 x s32>)
    RET 0, implicit $xmm0

...
---
name:            test_add_v4f32
# ALL-LABEL: name:            test_add_v4f32
alignment:       16
legalized:       true
regBankSelected: true
selected:        false
tracksRegLiveness: true
registers:
  - { id: 0, class: vecr }
  - { id: 1, class: vecr }
  - { id: 2, class: vecr }
# SSE:           %0:vr128 = COPY $xmm0
# SSE-NEXT:      %1:vr128 = COPY $xmm1
# SSE-NEXT:      %2:vr128 = ADDPSrr %0, %1
# AVX:           %0:vr128 = COPY $xmm0
# AVX-NEXT:      %1:vr128 = COPY $xmm1
# AVX-NEXT:      %2:vr128 = VADDPSrr %0, %1
# AVX512F:       %0:vr128 = COPY $xmm0
# AVX512F-NEXT:  1:vr128 = COPY $xmm1
# AVX512F-NEXT:  %2:vr128 = VADDPSrr %0, %1
# AVX512VL:      %0:vr128x = COPY $xmm0
# AVX512VL-NEXT: %1:vr128x = COPY $xmm1
# AVX512VL-NEXT: %2:vr128x = VADDPSZ128rr %0, %1
body:             |
  bb.1 (%ir-block.0):
    liveins: $xmm0, $xmm1

    %0(<4 x s32>) = COPY $xmm0
    %1(<4 x s32>) = COPY $xmm1
    %2(<4 x s32>) = G_FADD %0, %1
    $xmm0 = COPY %2(<4 x s32>)
    RET 0, implicit $xmm0

...
