Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/ARM/unaligned_load_store.ll
; RUN: llc -mtriple=arm-eabi -pre-RA-sched=source -mattr=+strict-align %s -o - \ | ; RUN: llc -mtriple=arm-eabi -pre-RA-sched=source -mattr=+strict-align %s -o - \ | ||||
; RUN: | FileCheck %s -check-prefix=EXPANDED | ; RUN: | FileCheck %s -check-prefix=EXPANDED | ||||
; RUN: llc -mtriple=armv6-apple-darwin -mcpu=cortex-a8 -mattr=-neon,+strict-align -pre-RA-sched=source %s -o - \ | ; RUN: llc -mtriple=armv6-apple-darwin -mcpu=cortex-a8 -mattr=-neon,+strict-align -pre-RA-sched=source %s -o - \ | ||||
; RUN: | FileCheck %s -check-prefix=EXPANDED | ; RUN: | FileCheck %s -check-prefix=EXPANDED | ||||
; RUN: llc -mtriple=armv6-apple-darwin -mcpu=cortex-a8 %s -o - \ | ; RUN: llc -mtriple=armv6-apple-darwin -mcpu=cortex-a8 %s -o - \ | ||||
; RUN: | FileCheck %s -check-prefix=UNALIGNED | ; RUN: | FileCheck %s -check-prefix=UNALIGNED | ||||
; rdar://7113725 | ; rdar://7113725 | ||||
; rdar://12091029 | ; rdar://12091029 | ||||
define void @t(i8* nocapture %a, i8* nocapture %b) nounwind { | define void @t(i8* nocapture %a, i8* nocapture %b) nounwind { | ||||
entry: | entry: | ||||
; EXPANDED-LABEL: t: | ; EXPANDED-LABEL: t: | ||||
; EXPANDED: ldrb [[R2:r[0-9]+]] | ; EXPANDED-DAG: ldrb [[R2:r[0-9]+]] | ||||
; EXPANDED: ldrb [[R3:r[0-9]+]] | ; EXPANDED-DAG: ldrb [[R3:r[0-9]+]] | ||||
; EXPANDED: ldrb [[R12:r[0-9]+]] | ; EXPANDED-DAG: ldrb [[R12:r[0-9]+]] | ||||
; EXPANDED: ldrb [[R1:r[0-9]+]] | ; EXPANDED-DAG: ldrb [[R1:r[0-9]+]] | ||||
; EXPANDED: strb [[R1]] | ; EXPANDED-DAG: strb [[R1]] | ||||
; EXPANDED: strb [[R12]] | ; EXPANDED-DAG: strb [[R12]] | ||||
; EXPANDED: strb [[R3]] | ; EXPANDED-DAG: strb [[R3]] | ||||
; EXPANDED: strb [[R2]] | ; EXPANDED-DAG: strb [[R2]] | ||||
; UNALIGNED-LABEL: t: | ; UNALIGNED-LABEL: t: | ||||
; UNALIGNED: ldr r1 | ; UNALIGNED: ldr r1 | ||||
; UNALIGNED: str r1 | ; UNALIGNED: str r1 | ||||
%__src1.i = bitcast i8* %b to i32* ; <i32*> [#uses=1] | %__src1.i = bitcast i8* %b to i32* ; <i32*> [#uses=1] | ||||
%__dest2.i = bitcast i8* %a to i32* ; <i32*> [#uses=1] | %__dest2.i = bitcast i8* %a to i32* ; <i32*> [#uses=1] | ||||
%tmp.i = load i32, i32* %__src1.i, align 1 ; <i32> [#uses=1] | %tmp.i = load i32, i32* %__src1.i, align 1 ; <i32> [#uses=1] | ||||
▲ Show 20 Lines • Show All 51 Lines • Show Last 20 Lines |