Displaying 6 results from an estimated 6 matches for "autopromote".
2012 Jul 30
2
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...leValueType>,
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 {
NVT = (MVT::SimpleValueType)(NVT.getSimpleVT().SimpleTy+1);
assert(NVT.isInteger() == VT.isInteger() && NVT != MVT::isVoid &&
"Didn't find type to promote to!");...
2012 Jul 30
0
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...leValueType>,
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 {
NVT = (MVT::SimpleValueType)(NVT.getSimpleVT().SimpleTy+1);
assert(NVT.isInteger() == VT.isInteger() && NVT != MVT::isVoid &&
"Didn't find type to promote to!");...
2012 Jul 30
2
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...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 {
> NVT = (MVT::SimpleValueType)(NVT.getSimpleVT().SimpleTy+1);
> assert(NVT.isInteger() == VT.isInteger() && NVT != MVT::isVoid &&
> "Didn't fi...
2012 Jul 30
0
[LLVMdev] Vector promotion broken for <2 x [i8|i16]>
...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 {
> NVT = (MVT::SimpleValueType)(NVT.getSimpleVT().SimpleTy+1);
> assert(NVT.isInteger() == VT.isInteger() && NVT != MVT::isVoid &&
> "Didn't f...
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