1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/CodeGen/X86/add32ri8.ll
Rafael Espindola 97eb5e9037 Use add32ri8 and friends on fast isel.
This fixes pr22854.

The core issue on the bug is that there are multiple instructions that
print the same in assembly. In fact, there doesn't seem to be any
syntax for specifying that a constant that fits in 8 bits should use a 32 bit
immediate.

The attached patch changes fast isel to consider i16immSExt8,
i32immSExt8, and i64immSExt8. They were disabled because fastisel didn’t know
to call the predicate back in the day.

llvm-svn: 232223
2015-03-13 22:18:18 +00:00

11 lines
269 B
LLVM

; RUN: llc -mtriple=x86_64-linux -fast-isel -show-mc-encoding < %s | FileCheck %s
; pr22854
; CHECK: addl $42, %esi # encoding: [0x83,0xc6,0x2a]
define void @foo(i32 *%s, i32 %x) {
%y = add nsw i32 %x, 42
store i32 %y, i32* %s, align 4
ret void
}