| // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py |
| // RUN: %clang_cc1 -triple msp430-unknown-unknown -O3 -emit-llvm -o- %s | FileCheck %s |
| // REQUIRES: msp430-registered-target |
| |
| _Static_assert(sizeof(int) == 2, "Assumption failed"); |
| _Static_assert(sizeof(long) == 4, "Assumption failed"); |
| _Static_assert(sizeof(long long) == 8, "Assumption failed"); |
| _Static_assert(sizeof(float) == 4, "Assumption failed"); |
| _Static_assert(sizeof(double) == 8, "Assumption failed"); |
| _Static_assert(sizeof(long double) == 8, "Assumption failed"); |
| |
| // CHECK-LABEL: @powif( |
| // CHECK-NEXT: entry: |
| // CHECK-NEXT: [[TMP0:%.*]] = tail call float @llvm.powi.f32.i16(float [[X:%.*]], i16 [[Y:%.*]]) |
| // CHECK-NEXT: ret float [[TMP0]] |
| // |
| float powif(float x, int y) { |
| return __builtin_powif(x, y); |
| } |
| |
| // CHECK-LABEL: @powi( |
| // CHECK-NEXT: entry: |
| // CHECK-NEXT: [[TMP0:%.*]] = tail call double @llvm.powi.f64.i16(double [[X:%.*]], i16 [[Y:%.*]]) |
| // CHECK-NEXT: ret double [[TMP0]] |
| // |
| double powi(double x, int y) { |
| return __builtin_powi(x, y); |
| } |
| |
| // CHECK-LABEL: @powil( |
| // CHECK-NEXT: entry: |
| // CHECK-NEXT: [[TMP0:%.*]] = tail call double @llvm.powi.f64.i16(double [[X:%.*]], i16 [[Y:%.*]]) |
| // CHECK-NEXT: ret double [[TMP0]] |
| // |
| long double powil(long double x, int y) { |
| return __builtin_powil(x, y); |
| } |