forked from OSchip/llvm-project
53 lines
1.1 KiB
C
53 lines
1.1 KiB
C
// REQUIRES: powerpc-registered-target
|
|
// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-cpu pwr7 \
|
|
// RUN: -emit-llvm %s -o - | FileCheck %s
|
|
|
|
// RUN: %clang_cc1 -triple powerpc64le-unknown-unknown -target-cpu pwr8 \
|
|
// RUN: -emit-llvm %s -o - | FileCheck %s
|
|
|
|
// CHECK-LABEL: define signext i32 @test_divwe
|
|
int test_divwe(void)
|
|
{
|
|
int a = 74;
|
|
int b = 32;
|
|
return __builtin_divwe(a, b);
|
|
// CHECK @llvm.ppc.divwe
|
|
}
|
|
|
|
// CHECK-LABEL: define zeroext i32 @test_divweu
|
|
unsigned int test_divweu(void)
|
|
{
|
|
unsigned int a = 74;
|
|
unsigned int b = 32;
|
|
return __builtin_divweu(a, b);
|
|
// CHECK @llvm.ppc.divweu
|
|
}
|
|
|
|
// CHECK-LABEL: define i64 @test_divde
|
|
long long test_divde(void)
|
|
{
|
|
long long a = 74LL;
|
|
long long b = 32LL;
|
|
return __builtin_divde(a, b);
|
|
// CHECK @llvm.ppc.divde
|
|
}
|
|
|
|
// CHECK-LABEL: define i64 @test_divdeu
|
|
unsigned long long test_divdeu(void)
|
|
{
|
|
unsigned long long a = 74ULL;
|
|
unsigned long long b = 32ULL;
|
|
return __builtin_divdeu(a, b);
|
|
// CHECK @llvm.ppc.divdeu
|
|
}
|
|
|
|
// CHECK-LABEL: define i64 @test_bpermd
|
|
long long test_bpermd(void)
|
|
{
|
|
long long a = 74LL;
|
|
long long b = 32LL;
|
|
return __builtin_bpermd(a, b);
|
|
// CHECK @llvm.ppc.bpermd
|
|
}
|
|
|