|  | ; Simple test of the load instruction. | 
|  |  | 
|  | ; REQUIRES: allow_dump | 
|  |  | 
|  | ; RUN: %p2i -i %s --args --verbose inst -threads=0 | FileCheck %s | 
|  |  | 
|  | ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | 
|  | ; RUN:   --command %p2i --filetype=asm --assemble \ | 
|  | ; RUN:   --disassemble --target mips32 -i %s --args -Om1 \ | 
|  | ; RUN:   -allow-externally-defined-symbols \ | 
|  | ; RUN:   | %if --need=target_MIPS32 --need=allow_dump \ | 
|  | ; RUN:   --command FileCheck --check-prefix MIPS32 %s | 
|  |  | 
|  | define internal void @load_i64(i32 %addr_arg) { | 
|  | entry: | 
|  | %__1 = inttoptr i32 %addr_arg to i64* | 
|  | %iv = load i64, i64* %__1, align 1 | 
|  | ret void | 
|  |  | 
|  | ; CHECK:       Initial CFG | 
|  | ; CHECK:     entry: | 
|  | ; CHECK-NEXT:  %iv = load i64, i64* %addr_arg, align 1 | 
|  | ; CHECK-NEXT:  ret void | 
|  | } | 
|  |  | 
|  | ; MIPS32-LABEL: load_i64 | 
|  | ; MIPS32: lw [[BASE:.*]], | 
|  | ; MIPS32-NEXT: lw {{.*}},0([[BASE]]) | 
|  | ; MIPS32-NEXT: lw {{.*}},4([[BASE]]) | 
|  |  | 
|  | define internal void @load_i32(i32 %addr_arg) { | 
|  | entry: | 
|  | %__1 = inttoptr i32 %addr_arg to i32* | 
|  | %iv = load i32, i32* %__1, align 1 | 
|  | ret void | 
|  |  | 
|  | ; CHECK:       Initial CFG | 
|  | ; CHECK:     entry: | 
|  | ; CHECK-NEXT:  %iv = load i32, i32* %addr_arg, align 1 | 
|  | ; CHECK-NEXT:  ret void | 
|  | } | 
|  |  | 
|  | ; MIPS32-LABEL: load_i32 | 
|  | ; MIPS32: lw {{.*}},0({{.*}}) | 
|  |  | 
|  | define internal void @load_i16(i32 %addr_arg) { | 
|  | entry: | 
|  | %__1 = inttoptr i32 %addr_arg to i16* | 
|  | %iv = load i16, i16* %__1, align 1 | 
|  | ret void | 
|  |  | 
|  | ; CHECK:       Initial CFG | 
|  | ; CHECK:     entry: | 
|  | ; CHECK-NEXT:  %iv = load i16, i16* %addr_arg, align 1 | 
|  | ; CHECK-NEXT:  ret void | 
|  | } | 
|  |  | 
|  | ; MIPS32-LABEL: load_i16 | 
|  | ; MIPS32: lh {{.*}},0({{.*}}) | 
|  |  | 
|  | define internal void @load_i8(i32 %addr_arg) { | 
|  | entry: | 
|  | %__1 = inttoptr i32 %addr_arg to i8* | 
|  | %iv = load i8, i8* %__1, align 1 | 
|  | ret void | 
|  |  | 
|  | ; CHECK:       Initial CFG | 
|  | ; CHECK:     entry: | 
|  | ; CHECK-NEXT:  %iv = load i8, i8* %addr_arg, align 1 | 
|  | ; CHECK-NEXT:  ret void | 
|  | } | 
|  |  | 
|  | ; MIPS32-LABEL: load_i8 | 
|  | ; MIPS32: lb {{.*}},0({{.*}}) |