mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-24 22:32:47 +00:00
23 lines
465 B
LLVM
23 lines
465 B
LLVM
|
; bswap should be constant folded when it is passed a constant argument
|
||
|
|
||
|
; RUN: llvm-as < %s | opt -constprop | llvm-dis | not grep call
|
||
|
|
||
|
declare ushort %llvm.bswap.i16(ushort)
|
||
|
declare uint %llvm.bswap.i32(uint)
|
||
|
declare ulong %llvm.bswap.i64(ulong)
|
||
|
|
||
|
ushort %W() {
|
||
|
%Z = call ushort %llvm.bswap.i16(ushort 1)
|
||
|
ret ushort %Z
|
||
|
}
|
||
|
|
||
|
uint %X() {
|
||
|
%Z = call uint %llvm.bswap.i32(uint 1)
|
||
|
ret uint %Z
|
||
|
}
|
||
|
|
||
|
ulong %Y() {
|
||
|
%Z = call ulong %llvm.bswap.i64(ulong 1)
|
||
|
ret ulong %Z
|
||
|
}
|