Home | History | Annotate | Download | only in CodeGen
      1 // REQUIRES: powerpc-registered-target
      2 // RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-cpu pwr7 \
      3 // RUN: -emit-llvm %s -o - | FileCheck %s
      4 
      5 // RUN: %clang_cc1 -triple powerpc64le-unknown-unknown -target-cpu pwr8 \
      6 // RUN: -emit-llvm %s -o - | FileCheck %s
      7 
      8 // CHECK-LABEL: define signext i32 @test_divwe
      9 int test_divwe(void)
     10 {
     11   int a = 74;
     12   int b = 32;
     13   return __builtin_divwe(a, b);
     14 // CHECK: @llvm.ppc.divwe
     15 }
     16 
     17 // CHECK-LABEL: define zeroext i32 @test_divweu
     18 unsigned int test_divweu(void)
     19 {
     20   unsigned int a = 74;
     21   unsigned int b = 32;
     22   return __builtin_divweu(a, b);
     23 // CHECK: @llvm.ppc.divweu
     24 }
     25 
     26 // CHECK-LABEL: define i64 @test_divde
     27 long long test_divde(void)
     28 {
     29   long long a = 74LL;
     30   long long b = 32LL;
     31   return __builtin_divde(a, b);
     32 // CHECK: @llvm.ppc.divde
     33 }
     34 
     35 // CHECK-LABEL: define i64 @test_divdeu
     36 unsigned long long test_divdeu(void)
     37 {
     38   unsigned long long a = 74ULL;
     39   unsigned long long b = 32ULL;
     40   return __builtin_divdeu(a, b);
     41 // CHECK: @llvm.ppc.divdeu
     42 }
     43 
     44 // CHECK-LABEL: define i64 @test_bpermd
     45 long long test_bpermd(void)
     46 {
     47   long long a = 74LL;
     48   long long b = 32LL;
     49   return __builtin_bpermd(a, b);
     50 // CHECK: @llvm.ppc.bpermd
     51 }
     52 
     53