Displaying 20 results from an estimated 1100 matches similar to: "lowering of BUILD_VECTOR"
2020 Jul 07
3
BUILD_VECTOR disambiguation
Hey devs,
>From ISDOpcodes.h...
/// BUILD_VECTOR(ELT0, ELT1, ELT2, ELT3,...) - Return a fixed-width vector
/// with the specified, possibly variable, elements. The number of elements
/// is required to be a power of two. The types of the operands must all be
/// the same and must match the vector element type, except that integer types
/// are allowed to be larger than the element type, in
2020 Jul 07
3
BUILD_VECTOR disambiguation
Thanks for the clarification. The `except` seemed dangling to me, but
it's early here.
Just curious... how do we end up with a mixed type BUILD_VECTOR?
That's counterintuitive.
On Tue, Jul 7, 2020 at 10:58 AM Krzysztof Parzyszek via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> Mixed integer types are ok, but the values will get truncated to the element type of the output
2020 Jul 07
2
BUILD_VECTOR disambiguation
Mixed types aren't allowed. They are checked for in VerifySDNode in
SelectionDAG.cpp and will fail an asserts build.
~Craig
On Tue, Jul 7, 2020 at 8:25 AM Krzysztof Parzyszek via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> The problem can happen when you want to build a vector of i8, but i8
> itself is not legal on your target. All operands to BUILD_VECTOR will be
>
2007 Apr 25
2
[LLVMdev] Work in progress patch to speed up andersen's implementation
Hi guys, i'm not going to have time to work on this for a month or
two, so i figured i'd post it.
This patch
1. reworks the andersen's implementation to support field sensitivity
(though field-sensitive constraints are not generated directly yet),
and uses it to do indirect function call support.
2. Rewrites the solver to be state of the art in terms of speed.
kimwitu++ used to take
2019 Apr 04
5
[RFC] Changes to llvm.experimental.vector.reduce intrinsics
Hi all,
While working on a patch to improve codegen for fadd reductions on AArch64, I stumbled upon an outstanding issue with the experimental.vector.reduce.fadd/fmul intrinsics where the accumulator argument is ignored when fast-math is set on the intrinsic call. This behaviour is described in the LangRef (https://www.llvm.org/docs/LangRef.html#id1905) and is mentioned in
2016 Nov 04
2
[RFC] Supporting ARM's SVE in LLVM
Hi,
We've been working for the last two years on support for ARM's Scalable Vector Extension in LLVM, and we'd like to upstream our work. We've had to make several design decisions without community input, and would like to discuss the major changes we've made. To help with the discussions, I've attached a technical document (also in plain text below) to describe the
2011 Dec 16
2
[LLVMdev] Vector immediates in tablegen w/o build_vector?
I have two patterns in tablegen that do look like the exact same thing:
Pat 1)
def MOV_v4i16 : ILFormat<IL_OP_MOV, (outs GPRV4I16:$dst),
(ins i16imm:$val),
asm, [(set GPRV4I16:$dst, (build_vector (i16 imm:$val)))]>;
Pat 2)
def v4i16imm : Operand<v4i16>;
def MOV_v4i16 : ILFormat<IL_OP_MOV, (outs GPRV4I16:$dst),
(ins v4i16imm:$val),
asm, [(set
2011 Sep 30
1
[LLVMdev] Legal action type for BUILD_VECTOR
Hello,
I'm working on extending the current PowerPC backend to handle a vector
instruction set for floating-point operations (IBM's double-hummer
instruction set used on the BG/P supercomputers). In this instruction
set, each of the existing floating-point registers becomes the first of
two vector elements. I am having trouble optimizing the BUILD_VECTOR
operation for the case where I am
2017 May 07
2
What is "splat" in BUILD_VECTOR?
Hi All,
First of all, I am not native English speaker. While reading BUILD_VECTOR
related code, for example,
PPCTargetLowering::LowerBUILD_VECTOR, I see "splat" here and there. Could
someone explain what
it is (does splat mean the same thing across the whole code base)? Besides,
from my English dictionary,
I don't know why we call such thing as "splat"... :p
Regards,
2020 Jan 10
2
[RFC][SDAG] Convert build_vector of ops on extractelts into ops on input vectors
I have added a few PPC-specific DAG combines in the past that follow this
pattern on specific operations. Now that it appears that this would be
useful to do on yet another operation, I'm wondering what people think
about doing this in the target-independent DAG Combiner for any
legal/custom operation on the target.
TL; DR;
The generic pattern would look like this:
(build_vector (op
2013 Aug 16
2
[LLVMdev] CreateOr no matching member error
For the following code:
Type * type = IntegerType::getInt32Ty(getGlobalContext());
IRBuilder<> builder(BB);
std::set<Value *> Vset;
Value * Vresult=0;
for(std::set<Value*>::iterator Vit=Vset.begin();Vit!=Vset.end();Vit++)
{
Vresult=builder.CreateOr(Vit, Vresult, "WaitOr");
}
Vset is inserted in previous loop by 0 or 1 The error
2009 Feb 03
1
[LLVMdev] type legalizer promoting BUILD_VECTORs
On Feb 2, 2009, at 1:22 PM, Duncan Sands wrote:
> another way this could be done is to say that the operands of a
> BUILD_VECTOR don't have to have the same type as the element type
> of the built vector. Then when the type legalizer sees a
> v4i16 = BUILD_VECTOR(i16, i16, i16, i16) it can turn this into a
> v4i16 = BUILD_VECTOR(i32, i32, i32, i32) and it will be happy
>
2009 Feb 02
0
[LLVMdev] type legalizer promoting BUILD_VECTORs
Hi Bob,
> LLVM's type legalizer is changing the types of BUILD_VECTORs in a way
> that seems wrong to me, but I'm not sure if this is a bug or if some
> targets may be relying on it.
>
> On a 32-bit target, the default action for legalizing i8 and i16 types
> is to promote them. If you then have a BUILD_VECTOR to construct a
> legal vector type composed of
2009 Feb 03
0
[LLVMdev] type legalizer promoting BUILD_VECTORs
(Resend, since it didn't seem to reach the mailing list the first time)
Hi Bob,
> LLVM's type legalizer is changing the types of BUILD_VECTORs in a way
> that seems wrong to me, but I'm not sure if this is a bug or if some
> targets may be relying on it.
>
> On a 32-bit target, the default action for legalizing i8 and i16 types
> is to promote them. If you
2009 Feb 02
1
[LLVMdev] type legalizer promoting BUILD_VECTORs
On Feb 2, 2009, at 1:51 PM, Eli Friedman wrote:
> On Mon, Feb 2, 2009 at 11:31 AM, Bob Wilson <bob.wilson at apple.com>
> wrote:
>> LLVM's type legalizer is changing the types of BUILD_VECTORs in a way
>> that seems wrong to me, but I'm not sure if this is a bug or if some
>> targets may be relying on it.
>>
>> On a 32-bit target, the default
2020 Jan 11
2
[RFC][SDAG] Convert build_vector of ops on extractelts into ops on input vectors
Thanks so much for your feedback Simon.
I am not sure that what I am proposing here is at odds with what you're
referring to (here and in the PR you linked). The key difference AFAICT is
that the pattern I am referring to is probably more aptly described as
"reducing scalarization" than as "vectorization". The reason I say that is
that the inputs are vectors and the output
2009 Feb 02
0
[LLVMdev] type legalizer promoting BUILD_VECTORs
On Mon, Feb 2, 2009 at 11:31 AM, Bob Wilson <bob.wilson at apple.com> wrote:
> LLVM's type legalizer is changing the types of BUILD_VECTORs in a way
> that seems wrong to me, but I'm not sure if this is a bug or if some
> targets may be relying on it.
>
> On a 32-bit target, the default action for legalizing i8 and i16 types
> is to promote them.
This isn't
2020 Jan 11
2
[RFC][SDAG] Convert build_vector of ops on extractelts into ops on input vectors
Absolutely. We do it for scalars, so it would likely be a matter of just
extending it.
But that is one example. The issue of extracting elements, performing an
operation on each element individually and then rebuilding the vector is
likely more prevalent than that. At least I think that is the case, but
I'll do some analysis to see if it is so or not.
On Sat, Jan 11, 2020 at 6:15 PM Craig
2009 Feb 02
4
[LLVMdev] type legalizer promoting BUILD_VECTORs
LLVM's type legalizer is changing the types of BUILD_VECTORs in a way
that seems wrong to me, but I'm not sure if this is a bug or if some
targets may be relying on it.
On a 32-bit target, the default action for legalizing i8 and i16 types
is to promote them. If you then have a BUILD_VECTOR to construct a
legal vector type composed of i8 or i16 values, the type legalizer
will
2007 Jan 24
1
n step ahead forecasts
hello,
I have a question about making n step ahead forecasts in cases where test
and validation sets are availiable. For instance, I would like to make one
step ahead forecasts on the WWWusage data so I hold out the last 10
observations as the validation set and fit an ARIMA model on the first 90
observations. I then use a for loop to sequentially add 9 of the holdout
observations to make 1