search for: llvm_anyfloat_ty

Displaying 20 results from an estimated 28 matches for "llvm_anyfloat_ty".

2008 May 07
2
[LLVMdev] Creation of Intrinsics with Pointer Return Types
...ypes anyint(iAny Value Type) and any float(fAny Value Type).<br>Entries in the Intrinsics.td file:<br>def int_migrate_end_int : Intrinsic<[llvm_anyint_ty,llvm_i32_ty,llvm_i32_ty],[IntrWriteMem],"llvm.migrate_end_int">;<br>def int_migrate_end_float : Intrinsic<[llvm_anyfloat_ty,llvm_i32_ty,llvm_i32_ty],[IntrWriteMem],"llvm.migrate_end_float">;<br><br>I am not able to handle all of the pointer return type instructions.<br><br>I tried using the types such as:<br><br>def llvm_vararg_ty : LLVMType<isVoid>; // this m...
2009 Apr 15
3
[LLVMdev] Tablegen question
Oops. That was premature. I think your original question was on the right track. TableGen distinguishes between known and "overloaded" types (like "llvm_anyfloat_ty" in your example). The overloaded types are numbered separately, and the argument to LLVMMatchType is an index into these overloaded types, ignoring the known types. So, in your case, the first argument is the first overloaded type, so you should use LLVMMatchType<0> to refer t...
2009 Apr 15
3
[LLVMdev] Tablegen question
...15, 2009 9:53 AM To: LLVM Developers Mailing List Subject: Re: [LLVMdev] Tablegen question On Apr 15, 2009, at 9:29 AM, Villmow, Micah wrote: > I have this intrinsic definition for llvm. > def int_opencl_math_fdistance_fast : Intrinsic<[llvm_float_ty], > [llvm_anyfloat_ty, LLVMMatchType<0>]>; > > > Can someone explain what LLVMMatchType does and how to specify it > to match the first argument and not the return value? > > I've tried LLVMMatchType<1> but it fails in IntrinsicEmitter.cpp Can you give some more info about how LL...
2009 Apr 15
0
[LLVMdev] Tablegen question
...ers Mailing List > Subject: Re: [LLVMdev] Tablegen question > > > On Apr 15, 2009, at 9:29 AM, Villmow, Micah wrote: > >> I have this intrinsic definition for llvm. >> def int_opencl_math_fdistance_fast : Intrinsic<[llvm_float_ty], >> [llvm_anyfloat_ty, LLVMMatchType<0>]>; >> >> >> Can someone explain what LLVMMatchType does and how to specify it >> to match the first argument and not the return value? >> >> I've tried LLVMMatchType<1> but it fails in IntrinsicEmitter.cpp > > Can you g...
2009 Apr 15
0
[LLVMdev] Tablegen question
...e Intrinsic::opencl_math_fdistance: // llvm.opencl.math.fdistance ResultTy = Type::FloatTy; ArgTys.push_back(Tys[0]); ArgTys.push_back(Tys[0]); break; This is the intrinsic definition: def int_opencl_math_fdistance_fast : Intrinsic<[llvm_float_ty], [llvm_anyfloat_ty, LLVMMatchType<0>]>; The problem comes when I try to use the intrinsic. It gives me the following error: GPRV2F32:f32:$src1 MACRO_DISTANCE_FAST_v2f32: (set GPRF32:f32:$dst, (intrinsic_w_chain:f32 84:iPTR, GPRV2F32:v2f32:$src0, GPRV2F32:f32:$src1)) TableGen.exe: In MACRO_DISTANCE_FAST_v2...
2008 May 07
0
[LLVMdev] Creation of Intrinsics with Pointer Return Types
...y > Value Type) and any float(fAny Value Type). > Entries in the Intrinsics.td file: > def int_migrate_end_int : > Intrinsic<[llvm_anyint_ty,llvm_i32_ty,llvm_i32_ty], > [IntrWriteMem],"llvm.migrate_end_int">; > def int_migrate_end_float : > Intrinsic<[llvm_anyfloat_ty,llvm_i32_ty,llvm_i32_ty], > [IntrWriteMem],"llvm.migrate_end_float">; > > I am not able to handle all of the pointer return type instructions. > > I tried using the types such as: > > def llvm_vararg_ty : LLVMType<isVoid>; // this means vararg here &gt...
2009 Apr 15
2
[LLVMdev] Tablegen question
I have this intrinsic definition for llvm. def int_opencl_math_fdistance_fast : Intrinsic<[llvm_float_ty], [llvm_anyfloat_ty, LLVMMatchType<0>]>; Can someone explain what LLVMMatchType does and how to specify it to match the first argument and not the return value? I've tried LLVMMatchType<1> but it fails in IntrinsicEmitter.cpp Thanks, -------------- next part -------------- An HTML a...
2009 Apr 15
0
[LLVMdev] Tablegen question
On Apr 15, 2009, at 9:29 AM, Villmow, Micah wrote: > I have this intrinsic definition for llvm. > def int_opencl_math_fdistance_fast : Intrinsic<[llvm_float_ty], > [llvm_anyfloat_ty, LLVMMatchType<0>]>; > > > Can someone explain what LLVMMatchType does and how to specify it > to match the first argument and not the return value? > > I’ve tried LLVMMatchType<1> but it fails in IntrinsicEmitter.cpp Can you give some more info about how LLVMMa...
2009 Apr 15
1
[LLVMdev] Tablegen question
...> llvm.opencl.math.fdistance >    ResultTy = Type::FloatTy; >    ArgTys.push_back(Tys[0]); >    ArgTys.push_back(Tys[0]); >    break; > > This is the intrinsic definition: > def int_opencl_math_fdistance_fast   : Intrinsic<[llvm_float_ty], >                           [llvm_anyfloat_ty, LLVMMatchType<0>]>; > > The problem comes when I try to use the intrinsic. It gives me the > following error: > GPRV2F32:f32:$src1 MACRO_DISTANCE_FAST_v2f32:   (set GPRF32:f32:$dst, > (intrinsic_w_chain:f32 84:iPTR, GPRV2F32:v2f32:$src0, > GPRV2F32:f32:$src1)) > Table...
2009 Apr 15
2
[LLVMdev] Tablegen question
...stance > ResultTy = Type::FloatTy; > ArgTys.push_back(Tys[0]); > ArgTys.push_back(Tys[0]); > break; OK. That looks right to me. > This is the intrinsic definition: > def int_opencl_math_fdistance_fast : Intrinsic<[llvm_float_ty], > [llvm_anyfloat_ty, LLVMMatchType<0>]>; > > The problem comes when I try to use the intrinsic. It gives me the > following error: > GPRV2F32:f32:$src1 MACRO_DISTANCE_FAST_v2f32: (set GPRF32:f32:$dst, > (intrinsic_w_chain:f32 84:iPTR, GPRV2F32:v2f32:$src0, > GPRV2F32:f32:$src1)) > Table...
2015 Jan 15
2
[LLVMdev] Overloaded intrinsics: name explosion
Hi, So, we currently have gc.result.int, gc.result.float. gc.result.ptr, gc.relocate, and gc.statepoint. gc.statepoint's signature is fine with a iPTRAny as the first argument. gc.result is in trouble, because none of the signatures admit even a simple array of integers, and there's no aAny. And certainly no vectors. So we can get a gc.result.vector to add to this mess, and admit [1] to
2009 Apr 15
0
[LLVMdev] Tablegen question
...stance > ResultTy = Type::FloatTy; > ArgTys.push_back(Tys[0]); > ArgTys.push_back(Tys[0]); > break; OK. That looks right to me. > This is the intrinsic definition: > def int_opencl_math_fdistance_fast : Intrinsic<[llvm_float_ty], > [llvm_anyfloat_ty, LLVMMatchType<0>]>; > > The problem comes when I try to use the intrinsic. It gives me the > following error: > GPRV2F32:f32:$src1 MACRO_DISTANCE_FAST_v2f32: (set GPRF32:f32:$dst, > (intrinsic_w_chain:f32 84:iPTR, GPRV2F32:v2f32:$src0, > GPRV2F32:f32:$src1)) > Table...
2019 Jul 01
14
RFC: Complex in LLVM
...t of the types. The format of the real and imaginary parts is the same as for float and double, respectively. This should map to most common data representations of complex in various languages. These types are *not* considered floating point types for the purposes of Type::isFloatTy and friends, llvm_anyfloat_ty, etc. in order to limit surprises when introducing these types. New APIs will allow querying and creation of complex types: bool Type::isComplexTy() const; bool Type::isComplex32Ty() const; bool Type::isComplex64Ty() const; Analogous ValueTypes will be used by intrinsics. def c32 : ValueT...
2008 Jan 25
1
[LLVMdev] variable arguement intrinsics
hi I want to use two intrinsic functions which should be placeholders for some instructions which should not be executed by the backend. So these two intrinsics should just keep the data dependencies while i try to separate set of instructions(with more of data flow) to be executed on hardware. One intrinsic which takes care of the data dependencies required for proper execution of the
2011 Nov 22
2
[LLVMdev] PTX builtin functions.
Alberto, The AMDIL backend solves your problem with intrinsic overloading this way: def int_AMDIL_mad : GCCBuiltin<"__amdil_mad">, TernaryIntFloat; Where TernaryIntFloat is defined as: class TernaryIntFloat : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>], []>; This allows us to write a multi-def for int_AMDIL_mad like so: defm MAD : TernaryIntrinsicFloat<IL_OP_MAD, int_AMDIL_mad>; Where TernaryIntrinsicFloat is defined as: multiclass TernaryIntrinsicFlo...
2011 Nov 23
2
[LLVMdev] PTX builtin functions.
...> The AMDIL backend solves your problem with intrinsic overloading this way: > > def int_AMDIL_mad : GCCBuiltin<"__amdil_mad">, TernaryIntFloat; > > > > Where TernaryIntFloat is defined as: > > class TernaryIntFloat : > > Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, > > LLVMMatchType<0>, LLVMMatchType<0>], []>; > > > > This allows us to write a multi-def for int_AMDIL_mad like so: > > defm MAD : TernaryIntrinsicFloat<IL_OP_MAD, int_AMDIL_mad>; > > > > Where TernaryInt...
2011 Nov 23
0
[LLVMdev] PTX builtin functions.
...> wrote: > Alberto, >  The AMDIL backend solves your problem with intrinsic overloading this way: > def int_AMDIL_mad     : GCCBuiltin<"__amdil_mad">, TernaryIntFloat; > > Where TernaryIntFloat is defined as: > class TernaryIntFloat : >          Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, >          LLVMMatchType<0>, LLVMMatchType<0>], []>; > > This allows us to write a multi-def for int_AMDIL_mad like so: > defm MAD  : TernaryIntrinsicFloat<IL_OP_MAD, int_AMDIL_mad>; > > Where TernaryIntrinsicFloat is defined as: &gt...
2011 Nov 23
0
[LLVMdev] PTX builtin functions.
...solves your problem with intrinsic overloading this way: > > > def int_AMDIL_mad : GCCBuiltin<"__amdil_mad">, TernaryIntFloat; > > > > > > Where TernaryIntFloat is defined as: > > > class TernaryIntFloat : > > > Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, > > > LLVMMatchType<0>, LLVMMatchType<0>], []>; > > > > > > This allows us to write a multi-def for int_AMDIL_mad like so: > > > defm MAD : TernaryIntrinsicFloat<IL_OP_MAD, int_AMDIL_mad>; > > > &...
2011 Dec 04
2
[LLVMdev] PTX builtin functions.
...loading this >> > > way: >> > > def int_AMDIL_mad     : GCCBuiltin<"__amdil_mad">, TernaryIntFloat; >> > > >> > > Where TernaryIntFloat is defined as: >> > > class TernaryIntFloat : >> > >          Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, >> > >          LLVMMatchType<0>, LLVMMatchType<0>], []>; >> > > >> > > This allows us to write a multi-def for int_AMDIL_mad like so: >> > > defm MAD  : TernaryIntrinsicFloat<IL_OP_MAD, int_AMDIL_mad>;...
2011 Dec 08
3
[LLVMdev] PTX builtin functions.
...loading this >> > > way: >> > > def int_AMDIL_mad : GCCBuiltin<"__amdil_mad">, TernaryIntFloat; >> > > >> > > Where TernaryIntFloat is defined as: >> > > class TernaryIntFloat : >> > > Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, >> > > LLVMMatchType<0>, LLVMMatchType<0>], []>; >> > > >> > > This allows us to write a multi-def for int_AMDIL_mad like so: >> > > defm MAD : TernaryIntrinsicFloat<IL_OP_MAD, int_AMDIL_mad>;...