mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Add intrinsics for sin, cos, and pow. These use llvm_anyfloat_ty, and so
may be overloaded with vector types. And add a testcase for codegen for these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42885 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
27
test/CodeGen/X86/vector-intrinsics.ll
Normal file
27
test/CodeGen/X86/vector-intrinsics.ll
Normal file
@@ -0,0 +1,27 @@
|
||||
; RUN: llvm-as < %s | llc -march=x86-64 | grep call | count 16
|
||||
|
||||
declare <4 x double> @llvm.sin.v4f64(<4 x double> %p)
|
||||
declare <4 x double> @llvm.cos.v4f64(<4 x double> %p)
|
||||
declare <4 x double> @llvm.pow.v4f64(<4 x double> %p, <4 x double> %q)
|
||||
declare <4 x double> @llvm.powi.v4f64(<4 x double> %p, i32)
|
||||
|
||||
define <4 x double> @foo(<4 x double> %p)
|
||||
{
|
||||
%t = call <4 x double> @llvm.sin.v4f64(<4 x double> %p)
|
||||
ret <4 x double> %t
|
||||
}
|
||||
define <4 x double> @goo(<4 x double> %p)
|
||||
{
|
||||
%t = call <4 x double> @llvm.cos.v4f64(<4 x double> %p)
|
||||
ret <4 x double> %t
|
||||
}
|
||||
define <4 x double> @moo(<4 x double> %p, <4 x double> %q)
|
||||
{
|
||||
%t = call <4 x double> @llvm.pow.v4f64(<4 x double> %p, <4 x double> %q)
|
||||
ret <4 x double> %t
|
||||
}
|
||||
define <4 x double> @zoo(<4 x double> %p, i32 %q)
|
||||
{
|
||||
%t = call <4 x double> @llvm.powi.v4f64(<4 x double> %p, i32 %q)
|
||||
ret <4 x double> %t
|
||||
}
|
Reference in New Issue
Block a user