mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-19 19:29:31 +00:00
Change the keywords for the zext and sext parameter attributes to be zeroext and signext so they don't conflict with the keywords for the instructions of the same name. This gets around the ambiguity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40069 91177308-0d34-0410-b5e6-96231b3b80d8
23 lines
519 B
LLVM
23 lines
519 B
LLVM
; RUN: llvm-as < %s | llc -march=arm -mattr=+v6 | \
|
|
; RUN: grep sxtb | wc -l | grep 1
|
|
; RUN: llvm-as < %s | llc -march=arm -mattr=+v6 | \
|
|
; RUN: grep sxtab | wc -l | grep 1
|
|
|
|
define i8 @test1(i32 %A) signext {
|
|
%B = lshr i32 %A, 8
|
|
%C = shl i32 %A, 24
|
|
%D = or i32 %B, %C
|
|
%E = trunc i32 %D to i8
|
|
ret i8 %E
|
|
}
|
|
|
|
define i32 @test2(i32 %A, i32 %X) signext {
|
|
%B = lshr i32 %A, 8
|
|
%C = shl i32 %A, 24
|
|
%D = or i32 %B, %C
|
|
%E = trunc i32 %D to i8
|
|
%F = sext i8 %E to i32
|
|
%G = add i32 %F, %X
|
|
ret i32 %G
|
|
}
|