| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
This affects new intrinsics only.
What surprises me is that v32i8 still works.
llvm-svn: 212831
|
|
|
|
|
|
|
|
|
|
|
| |
We need the intrinsics with offsets, so why not just add them all.
The R128 parameter will also be useful for reducing SGPR usage.
GL_ARB_image_load_store also adds some image GLSL modifiers like "coherent",
so Mesa will probably translate those to slc, glc, etc.
When LLVM 3.5 is released, I'll switch Mesa to these new intrinsics.
llvm-svn: 212830
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use alg. from LegalizeDAG.cpp
Move Expand setting to SIISellowering
v2: Extend existing tests instead of creating new ones
v3: use separate LowerFPTOSINT function
v4: use TargetLowering::expandFP_TO_SINT
add comment about using FP_TO_SINT for uints
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Tom Stellard <tom@stellard.net>
llvm-svn: 212773
|
|
|
|
|
|
|
|
| |
(trunc b) combine.""
Don't try to convert the select condition type.
llvm-svn: 212750
|
|
|
|
|
|
|
|
| |
combine."
This caused miscompilation on, at least, x86-64. SExt(i1 cond) confused other optimizations.
llvm-svn: 212708
|
|
|
|
| |
llvm-svn: 212676
|
|
|
|
|
|
| |
Do this if the truncate is free and the select is legal.
llvm-svn: 212640
|
|
|
|
|
|
|
|
| |
Fixes various bugs with reordering loads and stores.
Scalarized vector loads weren't collecting the chains
at all.
llvm-svn: 212473
|
|
|
|
| |
llvm-svn: 212216
|
|
|
|
| |
llvm-svn: 211967
|
|
|
|
| |
llvm-svn: 211963
|
|
|
|
| |
llvm-svn: 211916
|
|
|
|
| |
llvm-svn: 211906
|
|
|
|
|
|
|
| |
More complicated GEPs are skipped. Add some tests to
actually stress this skipping.
llvm-svn: 211859
|
|
|
|
|
|
|
|
| |
The default rounding mode to initialize the mode register needs
to be reported to the runtime. Fill in other bits a kernel
may be interested in setting for future use.
llvm-svn: 211791
|
|
|
|
| |
llvm-svn: 211757
|
|
|
|
|
|
| |
Now we need only one 64-bit pattern for stores.
llvm-svn: 211643
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
R600 was using a clamped version of rsq, but SI was not. Add a
new rsq_clamped intrinsic and use them consistently.
It's unclear to me from the documentation what behavior
the R600 instructions have, so I assume they have the legacy behavior
described by the SI documents. For R600, use RECIPSQRT_IEEE
for both llvm.AMDGPU.rsq.legacy and llvm.AMDGPU.rsq. R600 also
has RECIPSQRT_FF, which I'm not sure how it fits in here.
llvm-svn: 211637
|
|
|
|
|
|
|
| |
The operand that must match one of the others does matter,
and implement selecting for it.
llvm-svn: 211523
|
|
|
|
|
|
| |
Add more tests for these.
llvm-svn: 211517
|
|
|
|
|
|
| |
We can handle it the same way as add
llvm-svn: 211514
|
|
|
|
|
|
|
|
|
| |
v2: move < %s to the end of the line
space after ;
add v4i32 test
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 211476
|
|
|
|
| |
llvm-svn: 211378
|
|
|
|
| |
llvm-svn: 211377
|
|
|
|
| |
llvm-svn: 211376
|
|
|
|
| |
llvm-svn: 211375
|
|
|
|
| |
llvm-svn: 211373
|
|
|
|
|
|
| |
These belong with r210827
llvm-svn: 211253
|
|
|
|
|
|
|
|
| |
These will be used for custom lowering and for library
implementations of various math functions, so it's useful
to expose these as builtins.
llvm-svn: 211247
|
|
|
|
|
|
|
|
| |
The difference from rint isn't really relevant here,
so treat them as equivalent. OpenCL doesn't have nearbyint,
so this is sort of pointless other than for completeness.
llvm-svn: 211229
|
|
|
|
|
|
|
|
|
| |
This contains all the previous patches + getlod support on top of it.
It doesn't use SDNodes anymore, so it's quite small.
It also adds v16i8 to SReg_128, which is used for the sampler descriptor.
Reviewed-by: Tom Stellard
llvm-svn: 211228
|
|
|
|
|
|
|
|
|
| |
Move fp64 fceil tests to fceil64.ll
v2: rebase
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 211194
|
|
|
|
| |
llvm-svn: 211187
|
|
|
|
|
|
| |
Copy what is done for 32-bit already so the order is about the same.
llvm-svn: 211186
|
|
|
|
|
|
| |
CI has instructions for these, so this fixes them for older hardware.
llvm-svn: 211183
|
|
|
|
| |
llvm-svn: 211182
|
|
|
|
|
|
|
| |
v2: Use capitalized variable name
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 211159
|
|
|
|
|
|
|
| |
v2: use C++ style comment
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 211158
|
|
|
|
|
|
|
| |
v2: Use c++ style comment
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 211157
|
|
|
|
| |
llvm-svn: 211116
|
|
|
|
| |
llvm-svn: 211115
|
|
|
|
| |
llvm-svn: 211110
|
|
|
|
| |
llvm-svn: 211108
|
|
|
|
| |
llvm-svn: 211002
|
|
|
|
|
|
|
| |
Try to keep all the setOperationActions for integer ops
together.
llvm-svn: 211001
|
|
|
|
| |
llvm-svn: 211000
|
|
|
|
|
|
| |
Divides by weird constants now emit much better code.
llvm-svn: 210995
|
|
|
|
| |
llvm-svn: 210983
|
|
|
|
|
|
|
| |
These are reduced from assert in the
OpenCV CvtColor8u.BGR5652GRAY test.
llvm-svn: 210969
|
|
|
|
|
|
|
|
|
|
|
| |
This would assert if a constant address space was extern
and therefore didn't have an initializer. If the initializer
was undef, it would hit the unreachable unhandled initializer case.
An extern global should never really occur since we don't have
machine linking, but bugpoint likes to remove initializers.
llvm-svn: 210967
|