Add XCore intrinsic for crc32.
[oota-llvm.git] / test / CodeGen / XCore / misc-intrinsics.ll
1 ; RUN: llc < %s -march=xcore | FileCheck %s
2 declare i32 @llvm.xcore.bitrev(i32)
3 declare i32 @llvm.xcore.crc32(i32, i32, i32)
4
5 define i32 @bitrev(i32 %val) {
6 ; CHECK: bitrev:
7 ; CHECK: bitrev r0, r0
8         %result = call i32 @llvm.xcore.bitrev(i32 %val)
9         ret i32 %result
10 }
11
12 define i32 @crc32(i32 %crc, i32 %data, i32 %poly) {
13 ; CHECK: crc32:
14 ; CHECK: crc32 r0, r1, r2
15         %result = call i32 @llvm.xcore.crc32(i32 %crc, i32 %data, i32 %poly)
16         ret i32 %result
17 }