1 ; RUN: llc -march=hexagon -O0 < %s | FileCheck %s
2 ; Hexagon Programmer's Reference Manual 11.10.6 XTYPE/PERM
5 declare i32 @llvm.hexagon.A2.sat(i64)
6 define i32 @A2_sat(i64 %a) {
7 %z = call i32 @llvm.hexagon.A2.sat(i64 %a)
10 ; CHECK: r0 = sat(r1:0)
12 declare i32 @llvm.hexagon.A2.sath(i32)
13 define i32 @A2_sath(i32 %a) {
14 %z = call i32 @llvm.hexagon.A2.sath(i32 %a)
17 ; CHECK: r0 = sath(r0)
19 declare i32 @llvm.hexagon.A2.satuh(i32)
20 define i32 @A2_satuh(i32 %a) {
21 %z = call i32 @llvm.hexagon.A2.satuh(i32 %a)
24 ; CHECK: r0 = satuh(r0)
26 declare i32 @llvm.hexagon.A2.satub(i32)
27 define i32 @A2_satub(i32 %a) {
28 %z = call i32 @llvm.hexagon.A2.satub(i32 %a)
31 ; CHECK: r0 = satub(r0)
33 declare i32 @llvm.hexagon.A2.satb(i32)
34 define i32 @A2_satb(i32 %a) {
35 %z = call i32 @llvm.hexagon.A2.satb(i32 %a)
38 ; CHECK: r0 = satb(r0)
41 declare i32 @llvm.hexagon.A2.swiz(i32)
42 define i32 @A2_swiz(i32 %a) {
43 %z = call i32 @llvm.hexagon.A2.swiz(i32 %a)
46 ; CHECK: r0 = swiz(r0)