mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
fix asmstreaming of 2/4 byte elements with pow-2 alignments.
llvm-svn: 79408
This commit is contained in:
parent
ed3dcdbdb8
commit
aeed3004c1
@ -229,7 +229,14 @@ void MCAsmStreamer::EmitValueToAlignment(unsigned ByteAlignment, int64_t Value,
|
||||
// Some assemblers don't support non-power of two alignments, so we always
|
||||
// emit alignments as a power of two if possible.
|
||||
if (isPowerOf2_32(ByteAlignment)) {
|
||||
OS << TAI.getAlignDirective();
|
||||
switch (ValueSize) {
|
||||
default: llvm_unreachable("Invalid size for machine code value!");
|
||||
case 1: OS << TAI.getAlignDirective(); break;
|
||||
// FIXME: use TAI for this!
|
||||
case 2: OS << ".p2alignw "; break;
|
||||
case 4: OS << ".p2alignl "; break;
|
||||
case 8: llvm_unreachable("Unsupported alignment size!");
|
||||
}
|
||||
|
||||
if (TAI.getAlignmentIsInBytes())
|
||||
OS << ByteAlignment;
|
||||
|
@ -1,7 +1,7 @@
|
||||
# RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
|
||||
# RUN: llvm-mc -triple i386-apple-darwin9 %s | FileCheck %s
|
||||
|
||||
# CHECK: TEST0:
|
||||
# CHECK: .p2align 1, 0
|
||||
# CHECK: align 1
|
||||
TEST0:
|
||||
.align 1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user