mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-15 07:39:31 +00:00
Fix a gross typo: ARMv6+ may or may not support unaligned memory operations.
Even if they are suported by the core, they can be disabled (this is just a configuration bit inside some register). Allow unaligned memops on darwin and conservatively disallow them otherwise. llvm-svn: 94889
This commit is contained in:
parent
0f04082970
commit
f7651ec593
@ -3854,8 +3854,11 @@ bool ARMTargetLowering::allowsUnalignedMemoryAccesses(EVT VT) const {
|
||||
if (!Subtarget->hasV6Ops())
|
||||
// Pre-v6 does not support unaligned mem access.
|
||||
return false;
|
||||
else if (!Subtarget->hasV6Ops()) {
|
||||
// v6 may or may not support unaligned mem access.
|
||||
else {
|
||||
// v6+ may or may not support unaligned mem access depending on the system
|
||||
// configuration.
|
||||
// FIXME: This is pretty conservative. Should we provide cmdline option to
|
||||
// control the behaviour?
|
||||
if (!Subtarget->isTargetDarwin())
|
||||
return false;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
; RUN: llc < %s -march=arm | FileCheck %s -check-prefix=GENERIC
|
||||
; RUN: llc < %s -mtriple=armv6-apple-darwin | FileCheck %s -check-prefix=DARWIN_V6
|
||||
; RUN: llc < %s -march=arm -mattr=+v7a | FileCheck %s -check-prefix=V7
|
||||
; RUN: llc < %s -mtriple=armv6-linux | FileCheck %s -check-prefix=GENERIC
|
||||
|
||||
; rdar://7113725
|
||||
|
||||
@ -20,9 +20,6 @@ entry:
|
||||
; DARWIN_V6: ldr r1
|
||||
; DARWIN_V6: str r1
|
||||
|
||||
; V7: t:
|
||||
; V7: ldr r1
|
||||
; V7: str r1
|
||||
%__src1.i = bitcast i8* %b to i32* ; <i32*> [#uses=1]
|
||||
%__dest2.i = bitcast i8* %a to i32* ; <i32*> [#uses=1]
|
||||
%tmp.i = load i32* %__src1.i, align 1 ; <i32> [#uses=1]
|
||||
|
Loading…
Reference in New Issue
Block a user