xref: /llvm-project/clang/test/CodeGen/msp430-builtins.c (revision 3391bdc255f1a75c59d71c7305959e84d8d5f468)
1 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
2 // RUN: %clang_cc1 -triple msp430-unknown-unknown -O3 -emit-llvm -o- %s | FileCheck %s
3 // REQUIRES: msp430-registered-target
4 
5 _Static_assert(sizeof(int) == 2, "Assumption failed");
6 _Static_assert(sizeof(long) == 4, "Assumption failed");
7 _Static_assert(sizeof(long long) == 8, "Assumption failed");
8 _Static_assert(sizeof(float) == 4, "Assumption failed");
9 _Static_assert(sizeof(double) == 8, "Assumption failed");
10 _Static_assert(sizeof(long double) == 8, "Assumption failed");
11 
12 // CHECK-LABEL: @powif(
13 // CHECK-NEXT:  entry:
14 // CHECK-NEXT:    [[TMP0:%.*]] = tail call float @llvm.powi.f32.i16(float [[X:%.*]], i16 [[Y:%.*]])
15 // CHECK-NEXT:    ret float [[TMP0]]
16 //
powif(float x,int y)17 float powif(float x, int y) {
18     return __builtin_powif(x, y);
19 }
20 
21 // CHECK-LABEL: @powi(
22 // CHECK-NEXT:  entry:
23 // CHECK-NEXT:    [[TMP0:%.*]] = tail call double @llvm.powi.f64.i16(double [[X:%.*]], i16 [[Y:%.*]])
24 // CHECK-NEXT:    ret double [[TMP0]]
25 //
powi(double x,int y)26 double powi(double x, int y) {
27   return __builtin_powi(x, y);
28 }
29 
30 // CHECK-LABEL: @powil(
31 // CHECK-NEXT:  entry:
32 // CHECK-NEXT:    [[TMP0:%.*]] = tail call double @llvm.powi.f64.i16(double [[X:%.*]], i16 [[Y:%.*]])
33 // CHECK-NEXT:    ret double [[TMP0]]
34 //
powil(long double x,int y)35 long double powil(long double x, int y) {
36     return __builtin_powil(x, y);
37 }
38