1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/CodeGen/Hexagon/constp-vsplat.ll
Krzysztof Parzyszek fe4b956a14 [Hexagon] Implement MI-level constant propagation
llvm-svn: 277028
2016-07-28 20:01:59 +00:00

19 lines
441 B
LLVM

; RUN: llc < %s
; REQUIRES: asserts
target datalayout = "e-m:e-p:32:32-i1:32-i64:64-a:0-v32:32-n16:32"
target triple = "hexagon"
; Function Attrs: nounwind readnone
define i64 @foo() #0 {
entry:
%0 = tail call i32 @llvm.hexagon.S2.vsplatrb(i32 255)
%conv = zext i32 %0 to i64
%shl = shl nuw i64 %conv, 32
%or = or i64 %shl, %conv
ret i64 %or
}
declare i32 @llvm.hexagon.S2.vsplatrb(i32) #0
attributes #0 = { nounwind readnone }