# RUN: llc -O0 -march=mips -mcpu=mips32r3 -mattr=+micromips,+eva -start-after=finalize-isel \
# RUN:     -filetype obj %s -o - | llvm-objdump --no-print-imm-hex --mattr=+eva -d - | FileCheck %s

--- |

  @wArray = global [13 x i32] zeroinitializer, align 4
  @hArray = global [13 x i16] zeroinitializer, align 2
  @bArray = global [13 x i8] zeroinitializer, align 1

  ; Function Attrs: noinline nounwind optnone
  define void @_Z3foov() {
  entry:
    %0 = load i8, ptr getelementptr inbounds ([13 x i8], ptr @bArray, i32 0, i32 5), align 1
    %conv = sext i8 %0 to i32
    %sub = sub nsw i32 %conv, 7
    %conv1 = trunc i32 %sub to i8
    store i8 %conv1, ptr getelementptr inbounds ([13 x i8], ptr @bArray, i32 0, i32 3), align 1
    %1 = load i8, ptr getelementptr inbounds ([13 x i8], ptr @bArray, i32 0, i32 5), align 1
    %conv2 = sext i8 %1 to i32
    %sub3 = sub nsw i32 %conv2, 7
    %conv4 = trunc i32 %sub3 to i8
    store i8 %conv4, ptr getelementptr inbounds ([13 x i8], ptr @bArray, i32 0, i32 3), align 1
    %2 = load i16, ptr getelementptr inbounds ([13 x i16], ptr @hArray, i32 0, i32 5), align 2
    %conv5 = sext i16 %2 to i32
    %sub6 = sub nsw i32 %conv5, 7
    %conv7 = trunc i32 %sub6 to i16
    store i16 %conv7, ptr getelementptr inbounds ([13 x i16], ptr @hArray, i32 0, i32 3), align 2
    %3 = load i16, ptr getelementptr inbounds ([13 x i16], ptr @hArray, i32 0, i32 5), align 2
    %conv8 = sext i16 %3 to i32
    %sub9 = sub nsw i32 %conv8, 7
    %conv10 = trunc i32 %sub9 to i16
    store i16 %conv10, ptr getelementptr inbounds ([13 x i16], ptr @hArray, i32 0, i32 3), align 2
    %4 = load i32, ptr getelementptr inbounds ([13 x i32], ptr @wArray, i32 0, i32 5), align 4
    %sub11 = sub nsw i32 %4, 7
    store i32 %sub11, ptr getelementptr inbounds ([13 x i32], ptr @wArray, i32 0, i32 3), align 4
    ret void
  }

  ; Function Attrs: noinline nounwind optnone
  define i32 @_Z3barPi(ptr %z) {
  entry:
    %z.addr = alloca ptr, align 4
    store ptr %z, ptr %z.addr, align 4
    %0 = load ptr, ptr %z.addr, align 4
    fence seq_cst
    %1 = atomicrmw add ptr %0, i32 42 monotonic
    fence seq_cst
    %2 = add i32 %1, 42
    ret i32 %2
  }

...
---
name:            _Z3foov
alignment:       4
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
tracksRegLiveness: true
registers:
  - { id: 0, class: gpr32, preferred-register: '' }
  - { id: 1, class: gpr32, preferred-register: '' }
  - { id: 2, class: gpr32, preferred-register: '' }
  - { id: 3, class: gpr32, preferred-register: '' }
  - { id: 4, class: gpr32, preferred-register: '' }
  - { id: 5, class: gpr32, preferred-register: '' }
  - { id: 6, class: gpr32, preferred-register: '' }
  - { id: 7, class: gpr32, preferred-register: '' }
  - { id: 8, class: gpr32, preferred-register: '' }
  - { id: 9, class: gpr32, preferred-register: '' }
  - { id: 10, class: gpr32, preferred-register: '' }
  - { id: 11, class: gpr32, preferred-register: '' }
  - { id: 12, class: gpr32, preferred-register: '' }
  - { id: 13, class: gpr32, preferred-register: '' }
  - { id: 14, class: gpr32, preferred-register: '' }
  - { id: 15, class: gpr32, preferred-register: '' }
liveins:
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    1
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 4294967295
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  savePoint:       ''
  restorePoint:    ''
fixedStack:
stack:
constants:
body:             |
  bb.0.entry:
    %0:gpr32 = LUi target-flags(mips-abs-hi) @bArray
    %1:gpr32 = ADDiu killed %0, target-flags(mips-abs-lo) @bArray
    %2:gpr32 = LBuE %1, 5 :: (dereferenceable load (s8) from `ptr getelementptr inbounds ([13 x i8], ptr @bArray, i32 0, i32 5)`)
    %3:gpr32 = ADDiu killed %2, -7
    SBE killed %3, %1, 3 :: (store (s8) into `ptr getelementptr inbounds ([13 x i8], ptr @bArray, i32 0, i32 3)`)
    %4:gpr32 = LBE %1, 5 :: (dereferenceable load (s8) from `ptr getelementptr inbounds ([13 x i8], ptr @bArray, i32 0, i32 5)`)
    %5:gpr32 = ADDiu killed %4, -7
    SBE killed %5, %1, 3 :: (store (s8) into `ptr getelementptr inbounds ([13 x i8], ptr @bArray, i32 0, i32 3)`)
    %6:gpr32 = LUi target-flags(mips-abs-hi) @hArray
    %7:gpr32 = ADDiu killed %6, target-flags(mips-abs-lo) @hArray
    %8:gpr32 = LHuE %7, 10 :: (dereferenceable load (s16) from `ptr getelementptr inbounds ([13 x i16], ptr @hArray, i32 0, i32 5)`)
    %9:gpr32 = ADDiu killed %8, -7
    SHE killed %9, %7, 6 :: (store (s16) into `ptr getelementptr inbounds ([13 x i16], ptr @hArray, i32 0, i32 3)`)
    %10:gpr32 = LHE %7, 10 :: (dereferenceable load (s16) from `ptr getelementptr inbounds ([13 x i16], ptr @hArray, i32 0, i32 5)`)
    %11:gpr32 = ADDiu killed %10, -7
    SHE killed %11, %7, 6 :: (store (s16) into `ptr getelementptr inbounds ([13 x i16], ptr @hArray, i32 0, i32 3)`)
    %12:gpr32 = LUi target-flags(mips-abs-hi) @wArray
    %13:gpr32 = ADDiu killed %12, target-flags(mips-abs-lo) @wArray
    %14:gpr32 = LWE %13, 20 :: (dereferenceable load (s32) from `ptr getelementptr inbounds ([13 x i32], ptr @wArray, i32 0, i32 5)`)
    %15:gpr32 = ADDiu killed %14, -7
    SWE killed %15, %13, 12 :: (store (s32) into `ptr getelementptr inbounds ([13 x i32], ptr @wArray, i32 0, i32 3)`)
    RetRA

...
---
name:            _Z3barPi
alignment:       4
exposesReturnsTwice: false
legalized:       false
regBankSelected: false
selected:        false
tracksRegLiveness: true
registers:
  - { id: 0, class: gpr32, preferred-register: '' }
  - { id: 1, class: gpr32, preferred-register: '' }
  - { id: 2, class: gpr32, preferred-register: '' }
  - { id: 3, class: gpr32, preferred-register: '' }
  - { id: 4, class: gpr32, preferred-register: '' }
  - { id: 5, class: gpr32, preferred-register: '' }
  - { id: 6, class: gpr32, preferred-register: '' }
  - { id: 7, class: gpr32, preferred-register: '' }
  - { id: 8, class: gpr32, preferred-register: '' }
liveins:
  - { reg: '$a0', virtual-reg: '%0' }
frameInfo:
  isFrameAddressTaken: false
  isReturnAddressTaken: false
  hasStackMap:     false
  hasPatchPoint:   false
  stackSize:       0
  offsetAdjustment: 0
  maxAlignment:    4
  adjustsStack:    false
  hasCalls:        false
  stackProtector:  ''
  maxCallFrameSize: 4294967295
  hasOpaqueSPAdjustment: false
  hasVAStart:      false
  hasMustTailInVarArgFunc: false
  savePoint:       ''
  restorePoint:    ''
fixedStack:
stack:
  - { id: 0, name: z.addr, type: default, offset: 0, size: 4, alignment: 4,
      stack-id: default, callee-saved-register: '', callee-saved-restored: true,
      debug-info-variable: '', debug-info-expression: '',
      debug-info-location: '' }
constants:
body:             |
  bb.0.entry:
    successors: %bb.1(0x80000000)
    liveins: $a0

    %0:gpr32 = COPY $a0
    %1:gpr32 = COPY %0
    SW %0, %stack.0.z.addr, 0 :: (store (s32) into %ir.z.addr)
    %2:gpr32 = LW %stack.0.z.addr, 0 :: (dereferenceable load (s32) from %ir.z.addr)
    SYNC 0
    %3:gpr32 = ADDiu $zero, 42

  bb.1.entry:
    successors: %bb.1(0x40000000), %bb.2(0x40000000)

    %4:gpr32 = LLE %2, 0
    %6:gpr32 = ADDu %4, %3
    %8:gpr32 = SCE %6, %2, 0
    BEQ %8, $zero, %bb.1, implicit-def $at

  bb.2.entry:
    SYNC 0
    %5:gpr32 = ADDiu killed %4, 42
    $v0 = COPY %5
    CACHEE %1, 5, 2
    PREFE %1, 5, 2
    RetRA implicit $v0

...

# CHECK: 60 22 60 05  lbue  $1, 5($2)
# CHECK: 60 22 68 05  lbe $1, 5($2)
# CHECK: 60 22 a8 03  sbe $1, 3($2)

# CHECK: 60 22 62 0a  lhue  $1, 10($2)
# CHECK: 60 22 6a 0a  lhe $1, 10($2)
# CHECK: 60 22 aa 06  she $1, 6($2)

# CHECK: 60 22 6e 14  lwe $1, 20($2)
# CHECK: 60 22 ae 0c  swe $1, 12($2)

# CHECK: 60 22 6c 00  lle $1, 0($2)
# CHECK: 60 22 ac 00  sce $1, 0($2)

# CHECK: 60 41 a6 05  cachee  2, 5($1)
# CHECK: 60 41 a4 05  prefe 2, 5($1)
