# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=x86_64-linux-gnu                                  -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=SSE
# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx                      -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=AVX
# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f                  -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --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=AVX512VL

--- |
  define i8 @test_load_i8(i8* %p1) {
    %r = load i8, i8* %p1
    ret i8 %r
  }

  define i16 @test_load_i16(i16* %p1) {
    %r = load i16, i16* %p1
    ret i16 %r
  }

  define i32 @test_load_i32(i32* %p1) {
    %r = load i32, i32* %p1
    ret i32 %r
  }

  define i64 @test_load_i64(i64* %p1) {
    %r = load i64, i64* %p1
    ret i64 %r
  }

  define float @test_load_float(float* %p1) {
    %r = load float, float* %p1
    ret float %r
  }

  define float @test_load_float_vecreg(float* %p1) {
    %r = load float, float* %p1
    ret float %r
  }

  define double @test_load_double(double* %p1) {
    %r = load double, double* %p1
    ret double %r
  }

  define double @test_load_double_vecreg(double* %p1) {
    %r = load double, double* %p1
    ret double %r
  }

  define i32* @test_store_i32(i32 %val, i32* %p1) {
    store i32 %val, i32* %p1
    ret i32* %p1
  }

  define i64* @test_store_i64(i64 %val, i64* %p1) {
    store i64 %val, i64* %p1
    ret i64* %p1
  }

  define float* @test_store_float(float %val, float* %p1) {
    store float %val, float* %p1
    ret float* %p1
  }

  define float* @test_store_float_vec(float %val, float* %p1) {
    store float %val, float* %p1
    ret float* %p1
  }

  define double* @test_store_double(double %val, double* %p1) {
    store double %val, double* %p1
    ret double* %p1
  }

  define double* @test_store_double_vec(double %val, double* %p1) {
    store double %val, double* %p1
    ret double* %p1
  }

  define i32* @test_load_ptr(i32** %ptr1) {
    %p = load i32*, i32** %ptr1
    ret i32* %p
  }

  define void @test_store_ptr(i32** %ptr1, i32* %a) {
    store i32* %a, i32** %ptr1
    ret void
  }

  define i32 @test_gep_folding(i32* %arr, i32 %val) {
    %arrayidx = getelementptr i32, i32* %arr, i32 5
    store i32 %val, i32* %arrayidx
    %r = load i32, i32* %arrayidx
    ret i32 %r
  }

  define i32 @test_gep_folding_largeGepIndex(i32* %arr, i32 %val) #0 {
    %arrayidx = getelementptr i32, i32* %arr, i64 57179869180
    store i32 %val, i32* %arrayidx
    %r = load i32, i32* %arrayidx
    ret i32 %r
  }
...
---
name:            test_load_i8
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi

    ; SSE-LABEL: name: test_load_i8
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[MOV8rm:%[0-9]+]]:gr8 = MOV8rm [[COPY]], 1, $noreg, 0, $noreg :: (load 1 from %ir.p1)
    ; SSE: $al = COPY [[MOV8rm]]
    ; SSE: RET 0, implicit $al
    ; AVX-LABEL: name: test_load_i8
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[MOV8rm:%[0-9]+]]:gr8 = MOV8rm [[COPY]], 1, $noreg, 0, $noreg :: (load 1 from %ir.p1)
    ; AVX: $al = COPY [[MOV8rm]]
    ; AVX: RET 0, implicit $al
    ; AVX512F-LABEL: name: test_load_i8
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[MOV8rm:%[0-9]+]]:gr8 = MOV8rm [[COPY]], 1, $noreg, 0, $noreg :: (load 1 from %ir.p1)
    ; AVX512F: $al = COPY [[MOV8rm]]
    ; AVX512F: RET 0, implicit $al
    ; AVX512VL-LABEL: name: test_load_i8
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[MOV8rm:%[0-9]+]]:gr8 = MOV8rm [[COPY]], 1, $noreg, 0, $noreg :: (load 1 from %ir.p1)
    ; AVX512VL: $al = COPY [[MOV8rm]]
    ; AVX512VL: RET 0, implicit $al
    %0(p0) = COPY $rdi
    %1(s8) = G_LOAD %0(p0) :: (load 1 from %ir.p1)
    $al = COPY %1(s8)
    RET 0, implicit $al

...
---
name:            test_load_i16
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi

    ; SSE-LABEL: name: test_load_i16
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[MOV16rm:%[0-9]+]]:gr16 = MOV16rm [[COPY]], 1, $noreg, 0, $noreg :: (load 2 from %ir.p1)
    ; SSE: $ax = COPY [[MOV16rm]]
    ; SSE: RET 0, implicit $ax
    ; AVX-LABEL: name: test_load_i16
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[MOV16rm:%[0-9]+]]:gr16 = MOV16rm [[COPY]], 1, $noreg, 0, $noreg :: (load 2 from %ir.p1)
    ; AVX: $ax = COPY [[MOV16rm]]
    ; AVX: RET 0, implicit $ax
    ; AVX512F-LABEL: name: test_load_i16
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[MOV16rm:%[0-9]+]]:gr16 = MOV16rm [[COPY]], 1, $noreg, 0, $noreg :: (load 2 from %ir.p1)
    ; AVX512F: $ax = COPY [[MOV16rm]]
    ; AVX512F: RET 0, implicit $ax
    ; AVX512VL-LABEL: name: test_load_i16
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[MOV16rm:%[0-9]+]]:gr16 = MOV16rm [[COPY]], 1, $noreg, 0, $noreg :: (load 2 from %ir.p1)
    ; AVX512VL: $ax = COPY [[MOV16rm]]
    ; AVX512VL: RET 0, implicit $ax
    %0(p0) = COPY $rdi
    %1(s16) = G_LOAD %0(p0) :: (load 2 from %ir.p1)
    $ax = COPY %1(s16)
    RET 0, implicit $ax

...
---
name:            test_load_i32
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi

    ; SSE-LABEL: name: test_load_i32
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; SSE: $eax = COPY [[MOV32rm]]
    ; SSE: RET 0, implicit $eax
    ; AVX-LABEL: name: test_load_i32
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; AVX: $eax = COPY [[MOV32rm]]
    ; AVX: RET 0, implicit $eax
    ; AVX512F-LABEL: name: test_load_i32
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; AVX512F: $eax = COPY [[MOV32rm]]
    ; AVX512F: RET 0, implicit $eax
    ; AVX512VL-LABEL: name: test_load_i32
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; AVX512VL: $eax = COPY [[MOV32rm]]
    ; AVX512VL: RET 0, implicit $eax
    %0(p0) = COPY $rdi
    %1(s32) = G_LOAD %0(p0) :: (load 4 from %ir.p1)
    $eax = COPY %1(s32)
    RET 0, implicit $eax

...
---
name:            test_load_i64
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi

    ; SSE-LABEL: name: test_load_i64
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; SSE: $rax = COPY [[MOV64rm]]
    ; SSE: RET 0, implicit $rax
    ; AVX-LABEL: name: test_load_i64
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; AVX: $rax = COPY [[MOV64rm]]
    ; AVX: RET 0, implicit $rax
    ; AVX512F-LABEL: name: test_load_i64
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; AVX512F: $rax = COPY [[MOV64rm]]
    ; AVX512F: RET 0, implicit $rax
    ; AVX512VL-LABEL: name: test_load_i64
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; AVX512VL: $rax = COPY [[MOV64rm]]
    ; AVX512VL: RET 0, implicit $rax
    %0(p0) = COPY $rdi
    %1(s64) = G_LOAD %0(p0) :: (load 8 from %ir.p1)
    $rax = COPY %1(s64)
    RET 0, implicit $rax

...
---
name:            test_load_float
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr, preferred-register: '' }
  - { id: 1, class: gpr, preferred-register: '' }
  - { id: 2, class: vecr, preferred-register: '' }
  - { id: 3, class: vecr, preferred-register: '' }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi

    ; SSE-LABEL: name: test_load_float
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; SSE: [[COPY1:%[0-9]+]]:fr32 = COPY [[MOV32rm]]
    ; SSE: [[COPY2:%[0-9]+]]:vr128 = COPY [[COPY1]]
    ; SSE: $xmm0 = COPY [[COPY2]]
    ; SSE: RET 0, implicit $xmm0
    ; AVX-LABEL: name: test_load_float
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; AVX: [[COPY1:%[0-9]+]]:fr32 = COPY [[MOV32rm]]
    ; AVX: [[COPY2:%[0-9]+]]:vr128 = COPY [[COPY1]]
    ; AVX: $xmm0 = COPY [[COPY2]]
    ; AVX: RET 0, implicit $xmm0
    ; AVX512F-LABEL: name: test_load_float
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; AVX512F: [[COPY1:%[0-9]+]]:fr32x = COPY [[MOV32rm]]
    ; AVX512F: [[COPY2:%[0-9]+]]:vr128x = COPY [[COPY1]]
    ; AVX512F: $xmm0 = COPY [[COPY2]]
    ; AVX512F: RET 0, implicit $xmm0
    ; AVX512VL-LABEL: name: test_load_float
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; AVX512VL: [[COPY1:%[0-9]+]]:fr32x = COPY [[MOV32rm]]
    ; AVX512VL: [[COPY2:%[0-9]+]]:vr128x = COPY [[COPY1]]
    ; AVX512VL: $xmm0 = COPY [[COPY2]]
    ; AVX512VL: RET 0, implicit $xmm0
    %0:gpr(p0) = COPY $rdi
    %1:gpr(s32) = G_LOAD %0(p0) :: (load 4 from %ir.p1)
    %3:vecr(s32) = COPY %1(s32)
    %2:vecr(s128) = G_ANYEXT %3(s32)
    $xmm0 = COPY %2(s128)
    RET 0, implicit $xmm0

...
---
name:            test_load_float_vecreg
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr, preferred-register: '' }
  - { id: 1, class: gpr, preferred-register: '' }
  - { id: 2, class: vecr, preferred-register: '' }
  - { id: 3, class: vecr, preferred-register: '' }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi

    ; SSE-LABEL: name: test_load_float_vecreg
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; SSE: [[COPY1:%[0-9]+]]:fr32 = COPY [[MOV32rm]]
    ; SSE: [[COPY2:%[0-9]+]]:vr128 = COPY [[COPY1]]
    ; SSE: $xmm0 = COPY [[COPY2]]
    ; SSE: RET 0, implicit $xmm0
    ; AVX-LABEL: name: test_load_float_vecreg
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; AVX: [[COPY1:%[0-9]+]]:fr32 = COPY [[MOV32rm]]
    ; AVX: [[COPY2:%[0-9]+]]:vr128 = COPY [[COPY1]]
    ; AVX: $xmm0 = COPY [[COPY2]]
    ; AVX: RET 0, implicit $xmm0
    ; AVX512F-LABEL: name: test_load_float_vecreg
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; AVX512F: [[COPY1:%[0-9]+]]:fr32x = COPY [[MOV32rm]]
    ; AVX512F: [[COPY2:%[0-9]+]]:vr128x = COPY [[COPY1]]
    ; AVX512F: $xmm0 = COPY [[COPY2]]
    ; AVX512F: RET 0, implicit $xmm0
    ; AVX512VL-LABEL: name: test_load_float_vecreg
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 0, $noreg :: (load 4 from %ir.p1)
    ; AVX512VL: [[COPY1:%[0-9]+]]:fr32x = COPY [[MOV32rm]]
    ; AVX512VL: [[COPY2:%[0-9]+]]:vr128x = COPY [[COPY1]]
    ; AVX512VL: $xmm0 = COPY [[COPY2]]
    ; AVX512VL: RET 0, implicit $xmm0
    %0:gpr(p0) = COPY $rdi
    %1:gpr(s32) = G_LOAD %0(p0) :: (load 4 from %ir.p1)
    %3:vecr(s32) = COPY %1(s32)
    %2:vecr(s128) = G_ANYEXT %3(s32)
    $xmm0 = COPY %2(s128)
    RET 0, implicit $xmm0

...
---
name:            test_load_double
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr, preferred-register: '' }
  - { id: 1, class: gpr, preferred-register: '' }
  - { id: 2, class: vecr, preferred-register: '' }
  - { id: 3, class: vecr, preferred-register: '' }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi

    ; SSE-LABEL: name: test_load_double
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; SSE: [[COPY1:%[0-9]+]]:fr64 = COPY [[MOV64rm]]
    ; SSE: [[COPY2:%[0-9]+]]:vr128 = COPY [[COPY1]]
    ; SSE: $xmm0 = COPY [[COPY2]]
    ; SSE: RET 0, implicit $xmm0
    ; AVX-LABEL: name: test_load_double
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; AVX: [[COPY1:%[0-9]+]]:fr64 = COPY [[MOV64rm]]
    ; AVX: [[COPY2:%[0-9]+]]:vr128 = COPY [[COPY1]]
    ; AVX: $xmm0 = COPY [[COPY2]]
    ; AVX: RET 0, implicit $xmm0
    ; AVX512F-LABEL: name: test_load_double
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; AVX512F: [[COPY1:%[0-9]+]]:fr64x = COPY [[MOV64rm]]
    ; AVX512F: [[COPY2:%[0-9]+]]:vr128x = COPY [[COPY1]]
    ; AVX512F: $xmm0 = COPY [[COPY2]]
    ; AVX512F: RET 0, implicit $xmm0
    ; AVX512VL-LABEL: name: test_load_double
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; AVX512VL: [[COPY1:%[0-9]+]]:fr64x = COPY [[MOV64rm]]
    ; AVX512VL: [[COPY2:%[0-9]+]]:vr128x = COPY [[COPY1]]
    ; AVX512VL: $xmm0 = COPY [[COPY2]]
    ; AVX512VL: RET 0, implicit $xmm0
    %0:gpr(p0) = COPY $rdi
    %1:gpr(s64) = G_LOAD %0(p0) :: (load 8 from %ir.p1)
    %3:vecr(s64) = COPY %1(s64)
    %2:vecr(s128) = G_ANYEXT %3(s64)
    $xmm0 = COPY %2(s128)
    RET 0, implicit $xmm0

...
---
name:            test_load_double_vecreg
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr, preferred-register: '' }
  - { id: 1, class: gpr, preferred-register: '' }
  - { id: 2, class: vecr, preferred-register: '' }
  - { id: 3, class: vecr, preferred-register: '' }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi

    ; SSE-LABEL: name: test_load_double_vecreg
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; SSE: [[COPY1:%[0-9]+]]:fr64 = COPY [[MOV64rm]]
    ; SSE: [[COPY2:%[0-9]+]]:vr128 = COPY [[COPY1]]
    ; SSE: $xmm0 = COPY [[COPY2]]
    ; SSE: RET 0, implicit $xmm0
    ; AVX-LABEL: name: test_load_double_vecreg
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; AVX: [[COPY1:%[0-9]+]]:fr64 = COPY [[MOV64rm]]
    ; AVX: [[COPY2:%[0-9]+]]:vr128 = COPY [[COPY1]]
    ; AVX: $xmm0 = COPY [[COPY2]]
    ; AVX: RET 0, implicit $xmm0
    ; AVX512F-LABEL: name: test_load_double_vecreg
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; AVX512F: [[COPY1:%[0-9]+]]:fr64x = COPY [[MOV64rm]]
    ; AVX512F: [[COPY2:%[0-9]+]]:vr128x = COPY [[COPY1]]
    ; AVX512F: $xmm0 = COPY [[COPY2]]
    ; AVX512F: RET 0, implicit $xmm0
    ; AVX512VL-LABEL: name: test_load_double_vecreg
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.p1)
    ; AVX512VL: [[COPY1:%[0-9]+]]:fr64x = COPY [[MOV64rm]]
    ; AVX512VL: [[COPY2:%[0-9]+]]:vr128x = COPY [[COPY1]]
    ; AVX512VL: $xmm0 = COPY [[COPY2]]
    ; AVX512VL: RET 0, implicit $xmm0
    %0:gpr(p0) = COPY $rdi
    %1:gpr(s64) = G_LOAD %0(p0) :: (load 8 from %ir.p1)
    %3:vecr(s64) = COPY %1(s64)
    %2:vecr(s128) = G_ANYEXT %3(s64)
    $xmm0 = COPY %2(s128)
    RET 0, implicit $xmm0

...
---
name:            test_store_i32
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
body:             |
  bb.1 (%ir-block.0):
    liveins: $edi, $rsi

    ; SSE-LABEL: name: test_store_i32
    ; SSE: [[COPY:%[0-9]+]]:gr32 = COPY $edi
    ; SSE: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; SSE: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[COPY]] :: (store 4 into %ir.p1)
    ; SSE: $rax = COPY [[COPY1]]
    ; SSE: RET 0, implicit $rax
    ; AVX-LABEL: name: test_store_i32
    ; AVX: [[COPY:%[0-9]+]]:gr32 = COPY $edi
    ; AVX: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; AVX: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[COPY]] :: (store 4 into %ir.p1)
    ; AVX: $rax = COPY [[COPY1]]
    ; AVX: RET 0, implicit $rax
    ; AVX512F-LABEL: name: test_store_i32
    ; AVX512F: [[COPY:%[0-9]+]]:gr32 = COPY $edi
    ; AVX512F: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; AVX512F: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[COPY]] :: (store 4 into %ir.p1)
    ; AVX512F: $rax = COPY [[COPY1]]
    ; AVX512F: RET 0, implicit $rax
    ; AVX512VL-LABEL: name: test_store_i32
    ; AVX512VL: [[COPY:%[0-9]+]]:gr32 = COPY $edi
    ; AVX512VL: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; AVX512VL: MOV32mr [[COPY1]], 1, $noreg, 0, $noreg, [[COPY]] :: (store 4 into %ir.p1)
    ; AVX512VL: $rax = COPY [[COPY1]]
    ; AVX512VL: RET 0, implicit $rax
    %0(s32) = COPY $edi
    %1(p0) = COPY $rsi
    G_STORE %0(s32), %1(p0) :: (store 4 into %ir.p1)
    $rax = COPY %1(p0)
    RET 0, implicit $rax

...
---
name:            test_store_i64
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi, $rsi

    ; SSE-LABEL: name: test_store_i64
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; SSE: MOV64mr [[COPY1]], 1, $noreg, 0, $noreg, [[COPY]] :: (store 8 into %ir.p1)
    ; SSE: $rax = COPY [[COPY1]]
    ; SSE: RET 0, implicit $rax
    ; AVX-LABEL: name: test_store_i64
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; AVX: MOV64mr [[COPY1]], 1, $noreg, 0, $noreg, [[COPY]] :: (store 8 into %ir.p1)
    ; AVX: $rax = COPY [[COPY1]]
    ; AVX: RET 0, implicit $rax
    ; AVX512F-LABEL: name: test_store_i64
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; AVX512F: MOV64mr [[COPY1]], 1, $noreg, 0, $noreg, [[COPY]] :: (store 8 into %ir.p1)
    ; AVX512F: $rax = COPY [[COPY1]]
    ; AVX512F: RET 0, implicit $rax
    ; AVX512VL-LABEL: name: test_store_i64
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; AVX512VL: MOV64mr [[COPY1]], 1, $noreg, 0, $noreg, [[COPY]] :: (store 8 into %ir.p1)
    ; AVX512VL: $rax = COPY [[COPY1]]
    ; AVX512VL: RET 0, implicit $rax
    %0(s64) = COPY $rdi
    %1(p0) = COPY $rsi
    G_STORE %0(s64), %1(p0) :: (store 8 into %ir.p1)
    $rax = COPY %1(p0)
    RET 0, implicit $rax

...
---
name:            test_store_float
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: vecr, preferred-register: '' }
  - { id: 1, class: gpr, preferred-register: '' }
  - { id: 2, class: vecr, preferred-register: '' }
  - { id: 3, class: gpr, preferred-register: '' }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi, $xmm0

    ; SSE-LABEL: name: test_store_float
    ; SSE: [[COPY:%[0-9]+]]:vr128 = COPY $xmm0
    ; SSE: [[COPY1:%[0-9]+]]:fr32 = COPY [[COPY]]
    ; SSE: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[COPY3:%[0-9]+]]:gr32 = COPY [[COPY1]]
    ; SSE: MOV32mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 4 into %ir.p1)
    ; SSE: $rax = COPY [[COPY2]]
    ; SSE: RET 0, implicit $rax
    ; AVX-LABEL: name: test_store_float
    ; AVX: [[COPY:%[0-9]+]]:vr128 = COPY $xmm0
    ; AVX: [[COPY1:%[0-9]+]]:fr32 = COPY [[COPY]]
    ; AVX: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[COPY3:%[0-9]+]]:gr32 = COPY [[COPY1]]
    ; AVX: MOV32mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 4 into %ir.p1)
    ; AVX: $rax = COPY [[COPY2]]
    ; AVX: RET 0, implicit $rax
    ; AVX512F-LABEL: name: test_store_float
    ; AVX512F: [[COPY:%[0-9]+]]:vr128x = COPY $xmm0
    ; AVX512F: [[COPY1:%[0-9]+]]:fr32x = COPY [[COPY]]
    ; AVX512F: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[COPY3:%[0-9]+]]:gr32 = COPY [[COPY1]]
    ; AVX512F: MOV32mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 4 into %ir.p1)
    ; AVX512F: $rax = COPY [[COPY2]]
    ; AVX512F: RET 0, implicit $rax
    ; AVX512VL-LABEL: name: test_store_float
    ; AVX512VL: [[COPY:%[0-9]+]]:vr128x = COPY $xmm0
    ; AVX512VL: [[COPY1:%[0-9]+]]:fr32x = COPY [[COPY]]
    ; AVX512VL: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[COPY3:%[0-9]+]]:gr32 = COPY [[COPY1]]
    ; AVX512VL: MOV32mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 4 into %ir.p1)
    ; AVX512VL: $rax = COPY [[COPY2]]
    ; AVX512VL: RET 0, implicit $rax
    %2:vecr(s128) = COPY $xmm0
    %0:vecr(s32) = G_TRUNC %2(s128)
    %1:gpr(p0) = COPY $rdi
    %3:gpr(s32) = COPY %0(s32)
    G_STORE %3(s32), %1(p0) :: (store 4 into %ir.p1)
    $rax = COPY %1(p0)
    RET 0, implicit $rax

...
---
name:            test_store_float_vec
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: vecr, preferred-register: '' }
  - { id: 1, class: gpr, preferred-register: '' }
  - { id: 2, class: vecr, preferred-register: '' }
  - { id: 3, class: gpr, preferred-register: '' }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi, $xmm0

    ; SSE-LABEL: name: test_store_float_vec
    ; SSE: [[COPY:%[0-9]+]]:vr128 = COPY $xmm0
    ; SSE: [[COPY1:%[0-9]+]]:fr32 = COPY [[COPY]]
    ; SSE: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[COPY3:%[0-9]+]]:gr32 = COPY [[COPY1]]
    ; SSE: MOV32mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 4 into %ir.p1)
    ; SSE: $rax = COPY [[COPY2]]
    ; SSE: RET 0, implicit $rax
    ; AVX-LABEL: name: test_store_float_vec
    ; AVX: [[COPY:%[0-9]+]]:vr128 = COPY $xmm0
    ; AVX: [[COPY1:%[0-9]+]]:fr32 = COPY [[COPY]]
    ; AVX: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[COPY3:%[0-9]+]]:gr32 = COPY [[COPY1]]
    ; AVX: MOV32mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 4 into %ir.p1)
    ; AVX: $rax = COPY [[COPY2]]
    ; AVX: RET 0, implicit $rax
    ; AVX512F-LABEL: name: test_store_float_vec
    ; AVX512F: [[COPY:%[0-9]+]]:vr128x = COPY $xmm0
    ; AVX512F: [[COPY1:%[0-9]+]]:fr32x = COPY [[COPY]]
    ; AVX512F: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[COPY3:%[0-9]+]]:gr32 = COPY [[COPY1]]
    ; AVX512F: MOV32mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 4 into %ir.p1)
    ; AVX512F: $rax = COPY [[COPY2]]
    ; AVX512F: RET 0, implicit $rax
    ; AVX512VL-LABEL: name: test_store_float_vec
    ; AVX512VL: [[COPY:%[0-9]+]]:vr128x = COPY $xmm0
    ; AVX512VL: [[COPY1:%[0-9]+]]:fr32x = COPY [[COPY]]
    ; AVX512VL: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[COPY3:%[0-9]+]]:gr32 = COPY [[COPY1]]
    ; AVX512VL: MOV32mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 4 into %ir.p1)
    ; AVX512VL: $rax = COPY [[COPY2]]
    ; AVX512VL: RET 0, implicit $rax
    %2:vecr(s128) = COPY $xmm0
    %0:vecr(s32) = G_TRUNC %2(s128)
    %1:gpr(p0) = COPY $rdi
    %3:gpr(s32) = COPY %0(s32)
    G_STORE %3(s32), %1(p0) :: (store 4 into %ir.p1)
    $rax = COPY %1(p0)
    RET 0, implicit $rax

...
---
name:            test_store_double
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: vecr, preferred-register: '' }
  - { id: 1, class: gpr, preferred-register: '' }
  - { id: 2, class: vecr, preferred-register: '' }
  - { id: 3, class: gpr, preferred-register: '' }
# NO_AVX512X: %0:fr64 = COPY $xmm0
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi, $xmm0

    ; SSE-LABEL: name: test_store_double
    ; SSE: [[COPY:%[0-9]+]]:vr128 = COPY $xmm0
    ; SSE: [[COPY1:%[0-9]+]]:fr64 = COPY [[COPY]]
    ; SSE: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[COPY3:%[0-9]+]]:gr64 = COPY [[COPY1]]
    ; SSE: MOV64mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 8 into %ir.p1)
    ; SSE: $rax = COPY [[COPY2]]
    ; SSE: RET 0, implicit $rax
    ; AVX-LABEL: name: test_store_double
    ; AVX: [[COPY:%[0-9]+]]:vr128 = COPY $xmm0
    ; AVX: [[COPY1:%[0-9]+]]:fr64 = COPY [[COPY]]
    ; AVX: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[COPY3:%[0-9]+]]:gr64 = COPY [[COPY1]]
    ; AVX: MOV64mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 8 into %ir.p1)
    ; AVX: $rax = COPY [[COPY2]]
    ; AVX: RET 0, implicit $rax
    ; AVX512F-LABEL: name: test_store_double
    ; AVX512F: [[COPY:%[0-9]+]]:vr128x = COPY $xmm0
    ; AVX512F: [[COPY1:%[0-9]+]]:fr64x = COPY [[COPY]]
    ; AVX512F: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[COPY3:%[0-9]+]]:gr64 = COPY [[COPY1]]
    ; AVX512F: MOV64mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 8 into %ir.p1)
    ; AVX512F: $rax = COPY [[COPY2]]
    ; AVX512F: RET 0, implicit $rax
    ; AVX512VL-LABEL: name: test_store_double
    ; AVX512VL: [[COPY:%[0-9]+]]:vr128x = COPY $xmm0
    ; AVX512VL: [[COPY1:%[0-9]+]]:fr64x = COPY [[COPY]]
    ; AVX512VL: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[COPY3:%[0-9]+]]:gr64 = COPY [[COPY1]]
    ; AVX512VL: MOV64mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 8 into %ir.p1)
    ; AVX512VL: $rax = COPY [[COPY2]]
    ; AVX512VL: RET 0, implicit $rax
    %2:vecr(s128) = COPY $xmm0
    %0:vecr(s64) = G_TRUNC %2(s128)
    %1:gpr(p0) = COPY $rdi
    %3:gpr(s64) = COPY %0(s64)
    G_STORE %3(s64), %1(p0) :: (store 8 into %ir.p1)
    $rax = COPY %1(p0)
    RET 0, implicit $rax

...
---
name:            test_store_double_vec
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: vecr, preferred-register: '' }
  - { id: 1, class: gpr, preferred-register: '' }
  - { id: 2, class: vecr, preferred-register: '' }
  - { id: 3, class: gpr, preferred-register: '' }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi, $xmm0

    ; SSE-LABEL: name: test_store_double_vec
    ; SSE: [[COPY:%[0-9]+]]:vr128 = COPY $xmm0
    ; SSE: [[COPY1:%[0-9]+]]:fr64 = COPY [[COPY]]
    ; SSE: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[COPY3:%[0-9]+]]:gr64 = COPY [[COPY1]]
    ; SSE: MOV64mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 8 into %ir.p1)
    ; SSE: $rax = COPY [[COPY2]]
    ; SSE: RET 0, implicit $rax
    ; AVX-LABEL: name: test_store_double_vec
    ; AVX: [[COPY:%[0-9]+]]:vr128 = COPY $xmm0
    ; AVX: [[COPY1:%[0-9]+]]:fr64 = COPY [[COPY]]
    ; AVX: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[COPY3:%[0-9]+]]:gr64 = COPY [[COPY1]]
    ; AVX: MOV64mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 8 into %ir.p1)
    ; AVX: $rax = COPY [[COPY2]]
    ; AVX: RET 0, implicit $rax
    ; AVX512F-LABEL: name: test_store_double_vec
    ; AVX512F: [[COPY:%[0-9]+]]:vr128x = COPY $xmm0
    ; AVX512F: [[COPY1:%[0-9]+]]:fr64x = COPY [[COPY]]
    ; AVX512F: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[COPY3:%[0-9]+]]:gr64 = COPY [[COPY1]]
    ; AVX512F: MOV64mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 8 into %ir.p1)
    ; AVX512F: $rax = COPY [[COPY2]]
    ; AVX512F: RET 0, implicit $rax
    ; AVX512VL-LABEL: name: test_store_double_vec
    ; AVX512VL: [[COPY:%[0-9]+]]:vr128x = COPY $xmm0
    ; AVX512VL: [[COPY1:%[0-9]+]]:fr64x = COPY [[COPY]]
    ; AVX512VL: [[COPY2:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[COPY3:%[0-9]+]]:gr64 = COPY [[COPY1]]
    ; AVX512VL: MOV64mr [[COPY2]], 1, $noreg, 0, $noreg, [[COPY3]] :: (store 8 into %ir.p1)
    ; AVX512VL: $rax = COPY [[COPY2]]
    ; AVX512VL: RET 0, implicit $rax
    %2:vecr(s128) = COPY $xmm0
    %0:vecr(s64) = G_TRUNC %2(s128)
    %1:gpr(p0) = COPY $rdi
    %3:gpr(s64) = COPY %0(s64)
    G_STORE %3(s64), %1(p0) :: (store 8 into %ir.p1)
    $rax = COPY %1(p0)
    RET 0, implicit $rax

...
---
name:            test_load_ptr
alignment:       16
legalized:       true
regBankSelected: true
selected:        false
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi

    ; SSE-LABEL: name: test_load_ptr
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.ptr1)
    ; SSE: $rax = COPY [[MOV64rm]]
    ; SSE: RET 0, implicit $rax
    ; AVX-LABEL: name: test_load_ptr
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.ptr1)
    ; AVX: $rax = COPY [[MOV64rm]]
    ; AVX: RET 0, implicit $rax
    ; AVX512F-LABEL: name: test_load_ptr
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.ptr1)
    ; AVX512F: $rax = COPY [[MOV64rm]]
    ; AVX512F: RET 0, implicit $rax
    ; AVX512VL-LABEL: name: test_load_ptr
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[COPY]], 1, $noreg, 0, $noreg :: (load 8 from %ir.ptr1)
    ; AVX512VL: $rax = COPY [[MOV64rm]]
    ; AVX512VL: RET 0, implicit $rax
    %0(p0) = COPY $rdi
    %1(p0) = G_LOAD %0(p0) :: (load 8 from %ir.ptr1)
    $rax = COPY %1(p0)
    RET 0, implicit $rax

...
---
name:            test_store_ptr
alignment:       16
legalized:       true
regBankSelected: true
selected:        false
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
body:             |
  bb.1 (%ir-block.0):
    liveins: $rdi, $rsi

    ; SSE-LABEL: name: test_store_ptr
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; SSE: MOV64mr [[COPY]], 1, $noreg, 0, $noreg, [[COPY1]] :: (store 8 into %ir.ptr1)
    ; SSE: RET 0
    ; AVX-LABEL: name: test_store_ptr
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; AVX: MOV64mr [[COPY]], 1, $noreg, 0, $noreg, [[COPY1]] :: (store 8 into %ir.ptr1)
    ; AVX: RET 0
    ; AVX512F-LABEL: name: test_store_ptr
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; AVX512F: MOV64mr [[COPY]], 1, $noreg, 0, $noreg, [[COPY1]] :: (store 8 into %ir.ptr1)
    ; AVX512F: RET 0
    ; AVX512VL-LABEL: name: test_store_ptr
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[COPY1:%[0-9]+]]:gr64 = COPY $rsi
    ; AVX512VL: MOV64mr [[COPY]], 1, $noreg, 0, $noreg, [[COPY1]] :: (store 8 into %ir.ptr1)
    ; AVX512VL: RET 0
    %0(p0) = COPY $rdi
    %1(p0) = COPY $rsi
    G_STORE %1(p0), %0(p0) :: (store 8 into %ir.ptr1)
    RET 0

...
---
name:            test_gep_folding
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }
  - { id: 3, class: gpr }
  - { id: 4, class: gpr }
body:             |
  bb.1 (%ir-block.0):
    liveins: $esi, $rdi

    ; SSE-LABEL: name: test_gep_folding
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[COPY1:%[0-9]+]]:gr32 = COPY $esi
    ; SSE: MOV32mr [[COPY]], 1, $noreg, 20, $noreg, [[COPY1]] :: (store 4 into %ir.arrayidx)
    ; SSE: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 20, $noreg :: (load 4 from %ir.arrayidx)
    ; SSE: $eax = COPY [[MOV32rm]]
    ; SSE: RET 0, implicit $eax
    ; AVX-LABEL: name: test_gep_folding
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[COPY1:%[0-9]+]]:gr32 = COPY $esi
    ; AVX: MOV32mr [[COPY]], 1, $noreg, 20, $noreg, [[COPY1]] :: (store 4 into %ir.arrayidx)
    ; AVX: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 20, $noreg :: (load 4 from %ir.arrayidx)
    ; AVX: $eax = COPY [[MOV32rm]]
    ; AVX: RET 0, implicit $eax
    ; AVX512F-LABEL: name: test_gep_folding
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[COPY1:%[0-9]+]]:gr32 = COPY $esi
    ; AVX512F: MOV32mr [[COPY]], 1, $noreg, 20, $noreg, [[COPY1]] :: (store 4 into %ir.arrayidx)
    ; AVX512F: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 20, $noreg :: (load 4 from %ir.arrayidx)
    ; AVX512F: $eax = COPY [[MOV32rm]]
    ; AVX512F: RET 0, implicit $eax
    ; AVX512VL-LABEL: name: test_gep_folding
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[COPY1:%[0-9]+]]:gr32 = COPY $esi
    ; AVX512VL: MOV32mr [[COPY]], 1, $noreg, 20, $noreg, [[COPY1]] :: (store 4 into %ir.arrayidx)
    ; AVX512VL: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[COPY]], 1, $noreg, 20, $noreg :: (load 4 from %ir.arrayidx)
    ; AVX512VL: $eax = COPY [[MOV32rm]]
    ; AVX512VL: RET 0, implicit $eax
    %0(p0) = COPY $rdi
    %1(s32) = COPY $esi
    %2(s64) = G_CONSTANT i64 20
    %3(p0) = G_PTR_ADD %0, %2(s64)
    G_STORE %1(s32), %3(p0) :: (store 4 into %ir.arrayidx)
    %4(s32) = G_LOAD %3(p0) :: (load 4 from %ir.arrayidx)
    $eax = COPY %4(s32)
    RET 0, implicit $eax

...
---
name:            test_gep_folding_largeGepIndex
alignment:       16
legalized:       true
regBankSelected: true
registers:
  - { id: 0, class: gpr }
  - { id: 1, class: gpr }
  - { id: 2, class: gpr }
  - { id: 3, class: gpr }
  - { id: 4, class: gpr }
body:             |
  bb.1 (%ir-block.0):
    liveins: $esi, $rdi

    ; SSE-LABEL: name: test_gep_folding_largeGepIndex
    ; SSE: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; SSE: [[COPY1:%[0-9]+]]:gr32 = COPY $esi
    ; SSE: [[MOV64ri:%[0-9]+]]:gr64_nosp = MOV64ri 228719476720
    ; SSE: [[LEA64r:%[0-9]+]]:gr64 = LEA64r [[COPY]], 1, [[MOV64ri]], 0, $noreg
    ; SSE: MOV32mr [[LEA64r]], 1, $noreg, 0, $noreg, [[COPY1]] :: (store 4 into %ir.arrayidx)
    ; SSE: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[LEA64r]], 1, $noreg, 0, $noreg :: (load 4 from %ir.arrayidx)
    ; SSE: $eax = COPY [[MOV32rm]]
    ; SSE: RET 0, implicit $eax
    ; AVX-LABEL: name: test_gep_folding_largeGepIndex
    ; AVX: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX: [[COPY1:%[0-9]+]]:gr32 = COPY $esi
    ; AVX: [[MOV64ri:%[0-9]+]]:gr64_nosp = MOV64ri 228719476720
    ; AVX: [[LEA64r:%[0-9]+]]:gr64 = LEA64r [[COPY]], 1, [[MOV64ri]], 0, $noreg
    ; AVX: MOV32mr [[LEA64r]], 1, $noreg, 0, $noreg, [[COPY1]] :: (store 4 into %ir.arrayidx)
    ; AVX: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[LEA64r]], 1, $noreg, 0, $noreg :: (load 4 from %ir.arrayidx)
    ; AVX: $eax = COPY [[MOV32rm]]
    ; AVX: RET 0, implicit $eax
    ; AVX512F-LABEL: name: test_gep_folding_largeGepIndex
    ; AVX512F: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512F: [[COPY1:%[0-9]+]]:gr32 = COPY $esi
    ; AVX512F: [[MOV64ri:%[0-9]+]]:gr64_nosp = MOV64ri 228719476720
    ; AVX512F: [[LEA64r:%[0-9]+]]:gr64 = LEA64r [[COPY]], 1, [[MOV64ri]], 0, $noreg
    ; AVX512F: MOV32mr [[LEA64r]], 1, $noreg, 0, $noreg, [[COPY1]] :: (store 4 into %ir.arrayidx)
    ; AVX512F: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[LEA64r]], 1, $noreg, 0, $noreg :: (load 4 from %ir.arrayidx)
    ; AVX512F: $eax = COPY [[MOV32rm]]
    ; AVX512F: RET 0, implicit $eax
    ; AVX512VL-LABEL: name: test_gep_folding_largeGepIndex
    ; AVX512VL: [[COPY:%[0-9]+]]:gr64 = COPY $rdi
    ; AVX512VL: [[COPY1:%[0-9]+]]:gr32 = COPY $esi
    ; AVX512VL: [[MOV64ri:%[0-9]+]]:gr64_nosp = MOV64ri 228719476720
    ; AVX512VL: [[LEA64r:%[0-9]+]]:gr64 = LEA64r [[COPY]], 1, [[MOV64ri]], 0, $noreg
    ; AVX512VL: MOV32mr [[LEA64r]], 1, $noreg, 0, $noreg, [[COPY1]] :: (store 4 into %ir.arrayidx)
    ; AVX512VL: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[LEA64r]], 1, $noreg, 0, $noreg :: (load 4 from %ir.arrayidx)
    ; AVX512VL: $eax = COPY [[MOV32rm]]
    ; AVX512VL: RET 0, implicit $eax
    %0(p0) = COPY $rdi
    %1(s32) = COPY $esi
    %2(s64) = G_CONSTANT i64 228719476720
    %3(p0) = G_PTR_ADD %0, %2(s64)
    G_STORE %1(s32), %3(p0) :: (store 4 into %ir.arrayidx)
    %4(s32) = G_LOAD %3(p0) :: (load 4 from %ir.arrayidx)
    $eax = COPY %4(s32)
    RET 0, implicit $eax

...
