// REQUIRES: powerpc-registered-target
// RUN: %clang_cc1 -triple powerpc64-unknown-linux-gnu \
// RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s
// RUN: %clang_cc1 -triple powerpc64le-unknown-linux-gnu \
// RUN: -emit-llvm %s -o - -target-cpu pwr8 | FileCheck %s
// RUN: %clang_cc1 -triple powerpc-unknown-aix \
// RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s
// RUN: %clang_cc1 -triple powerpc64-unknown-aix \
// RUN: -emit-llvm %s -o - -target-cpu pwr7 | FileCheck %s
extern int si;
extern unsigned int ui;
int test_builtin_ppc_mulhw() {
// CHECK-LABEL: @test_builtin_ppc_mulhw(
// CHECK: %2 = call i32 @llvm.ppc.mulhw(i32 %0, i32 %1)
return __builtin_ppc_mulhw(si, si);
}
unsigned int test_builtin_ppc_mulhwu() {
// CHECK-LABEL: @test_builtin_ppc_mulhwu(
// CHECK: %2 = call i32 @llvm.ppc.mulhwu(i32 %0, i32 %1)
return __builtin_ppc_mulhwu(ui, ui);
}