Displaying 7 results from an estimated 7 matches for "promotetotyp".
Did you mean:
promotetotype
2012 Jul 30
2
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...<4 x i8>.
The result of TLI.getTypeToPromoteTo(ISD::AND, MVT::v4i8) is MVT::v2i32;
The reason why this occurs is:
// See if this has an explicit type specified.
std::map<std::pair<unsigned, MVT::SimpleValueType>,
MVT::SimpleValueType>::const_iterator PTTI =
PromoteToType.find(std::make_pair(Op, VT.getSimpleVT().SimpleTy));
if (PTTI != PromoteToType.end()) return PTTI->second;
assert((VT.isInteger() || VT.isFloatingPoint()) &&
"Cannot autopromote this type, add it with AddPromotedToType.");
EVT NVT = VT;
do {...
2012 Jul 30
0
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...<4 x i8>.
The result of TLI.getTypeToPromoteTo(ISD::AND, MVT::v4i8) is MVT::v2i32;
The reason why this occurs is:
// See if this has an explicit type specified.
std::map<std::pair<unsigned, MVT::SimpleValueType>,
MVT::SimpleValueType>::const_iterator PTTI =
PromoteToType.find(std::make_pair(Op, VT.getSimpleVT().SimpleTy));
if (PTTI != PromoteToType.end()) return PTTI->second;
assert((VT.isInteger() || VT.isFloatingPoint()) &&
"Cannot autopromote this type, add it with AddPromotedToType.");
EVT NVT = VT;
do {...
2012 Jul 30
2
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...etTypeToPromoteTo(ISD::AND, MVT::v4i8) is
> MVT::v2i32;
>
> The reason why this occurs is:
> // See if this has an explicit type specified.
> std::map<std::pair<unsigned, MVT::SimpleValueType>,
> MVT::SimpleValueType>::const_iterator PTTI =
> PromoteToType.find(std::make_pair(Op,
> VT.getSimpleVT().SimpleTy));
> if (PTTI != PromoteToType.end()) return PTTI->second;
>
> assert((VT.isInteger() || VT.isFloatingPoint()) &&
> "Cannot autopromote this type, add it with
> AddPromotedToType.");
>...
2012 Jul 30
0
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...tTypeToPromoteTo(ISD::AND, MVT::v4i8) is
> MVT::v2i32;
>
> The reason why this occurs is:
> // See if this has an explicit type specified.
> std::map<std::pair<unsigned, MVT::SimpleValueType>,
> MVT::SimpleValueType>::const_iterator PTTI =
> PromoteToType.find(std::make_pair(Op,
> VT.getSimpleVT().SimpleTy));
> if (PTTI != PromoteToType.end()) return PTTI->second;
>
> assert((VT.isInteger() || VT.isFloatingPoint()) &&
> "Cannot autopromote this type, add it with
> AddPromotedToType.");
>...
2009 Feb 03
3
[LLVMdev] Promoting i1,i8,i16
Is there a way to force llvm to promote all smaller types to i32 instead
of i16?
Thanks,
Micah Villmow
Systems Engineer
Advanced Technology & Performance
Advanced Micro Devices Inc.
S1-609 One AMD Place
Sunnyvale, CA. 94085
P: 408-749-3966
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2012 Jul 30
0
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
I don't know how your target architecture looks like, but I suspect that <4 x i8> should not be legalized to <1 x i32>. I think that what you are seeing is that <4 x i8> is first split into <2 x i8>, and later promoted to <2 x i32>. At the moment different targets can only affect type-legalization by declaring different legal types. A number of us discussed the
2012 Jul 30
4
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
Sorry, <4 x i8> should convert to a <1 x i32>. What currently is happening is that it is returning a <2 x i32> because <1 x i32> does not exist.
Micah
> -----Original Message-----
> From: Rotem, Nadav [mailto:nadav.rotem at intel.com]
> Sent: Monday, July 30, 2012 10:51 AM
> To: Villmow, Micah; Developers Mailing List
> Subject: RE: Vector promotion broken