brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · 7602e19 Raw
65 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-attributes2; RUN: opt -vector-library=Darwin_libsystem_m -replace-with-veclib -S < %s | FileCheck %s3 4target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"5target triple = "x86_64-unknown-linux-gnu"6 7define <4 x float> @sin_v4f32(<4 x float> %in) {8; CHECK-LABEL: define {{[^@]+}}@sin_v4f329; CHECK-SAME: (<4 x float> [[IN:%.*]]) {10; CHECK-NEXT:    [[TMP1:%.*]] = call <4 x float> @_simd_sin_f4(<4 x float> [[IN]])11; CHECK-NEXT:    ret <4 x float> [[TMP1]]12;13  %call = call <4 x float> @llvm.sin.v4f32(<4 x float> %in)14  ret <4 x float> %call15}16declare <4 x float> @llvm.sin.v4f32(<4 x float>) #017 18define <2 x double> @sin_v2f64(<2 x double> %in) {19; CHECK-LABEL: define {{[^@]+}}@sin_v2f6420; CHECK-SAME: (<2 x double> [[IN:%.*]]) {21; CHECK-NEXT:    [[TMP1:%.*]] = call <2 x double> @_simd_sin_d2(<2 x double> [[IN]])22; CHECK-NEXT:    ret <2 x double> [[TMP1]]23;24  %call = call <2 x double> @llvm.sin.v2f64(<2 x double> %in)25  ret <2 x double> %call26}27declare <2 x double> @llvm.sin.v2f64(<2 x double>)28 29 30define <2 x double> @exp_v2(<2 x double> %in) {31; CHECK-LABEL: define {{[^@]+}}@exp_v232; CHECK-SAME: (<2 x double> [[IN:%.*]]) {33; CHECK-NEXT:    [[TMP1:%.*]] = call <2 x double> @_simd_exp_d2(<2 x double> [[IN]])34; CHECK-NEXT:    ret <2 x double> [[TMP1]]35;36  %call = call <2 x double> @llvm.exp.v2f64(<2 x double> %in)37  ret <2 x double> %call38}39 40declare <2 x double> @llvm.exp.v2f64(<2 x double>) #041 42define <4 x float> @exp_f32(<4 x float> %in) {43; CHECK-LABEL: define {{[^@]+}}@exp_f3244; CHECK-SAME: (<4 x float> [[IN:%.*]]) {45; CHECK-NEXT:    [[TMP1:%.*]] = call <4 x float> @_simd_exp_f4(<4 x float> [[IN]])46; CHECK-NEXT:    ret <4 x float> [[TMP1]]47;48  %call = call <4 x float> @llvm.exp.v4f32(<4 x float> %in)49  ret <4 x float> %call50}51 52declare <4 x float> @llvm.exp.v4f32(<4 x float>) #053 54define <3 x double> @exp_v3(<3 x double> %in) {55; CHECK-LABEL: define {{[^@]+}}@exp_v356; CHECK-SAME: (<3 x double> [[IN:%.*]]) {57; CHECK-NEXT:    [[CALL:%.*]] = call <3 x double> @llvm.exp.v3f64(<3 x double> [[IN]])58; CHECK-NEXT:    ret <3 x double> [[CALL]]59;60  %call = call <3 x double> @llvm.exp.v3f64(<3 x double> %in)61  ret <3 x double> %call62}63 64declare <3 x double> @llvm.exp.v3f64(<3 x double>) #065