R600/SI: Add patterns for 64-bit shift operations
[oota-llvm.git] / test / CodeGen / R600 / short-args.ll
1 ; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
2
3 ; CHECK: @i8_arg
4 ; CHECK: VTX_READ_8 T{{[0-9]+\.X, T[0-9]+\.X}}
5
6 define void @i8_arg(i32 addrspace(1)* nocapture %out, i8 %in) nounwind {
7 entry:
8   %0 = zext i8 %in to i32
9   store i32 %0, i32 addrspace(1)* %out, align 4
10   ret void
11 }
12
13 ; CHECK: @i8_zext_arg
14 ; CHECK: VTX_READ_8 T{{[0-9]+\.X, T[0-9]+\.X}}
15
16 define void @i8_zext_arg(i32 addrspace(1)* nocapture %out, i8 zeroext %in) nounwind {
17 entry:
18   %0 = zext i8 %in to i32
19   store i32 %0, i32 addrspace(1)* %out, align 4
20   ret void
21 }
22
23 ; CHECK: @i16_arg
24 ; CHECK: VTX_READ_16 T{{[0-9]+\.X, T[0-9]+\.X}}
25
26 define void @i16_arg(i32 addrspace(1)* nocapture %out, i16 %in) nounwind {
27 entry:
28   %0 = zext i16 %in to i32
29   store i32 %0, i32 addrspace(1)* %out, align 4
30   ret void
31 }
32
33 ; CHECK: @i16_zext_arg
34 ; CHECK: VTX_READ_16 T{{[0-9]+\.X, T[0-9]+\.X}}
35
36 define void @i16_zext_arg(i32 addrspace(1)* nocapture %out, i16 zeroext %in) nounwind {
37 entry:
38   %0 = zext i16 %in to i32
39   store i32 %0, i32 addrspace(1)* %out, align 4
40   ret void
41 }