1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/test
Jessica Paquette ae291b6dfb [GlobalISel] Add G_SBFX + G_UBFX (bitfield extraction opcodes)
There is a bunch of similar bitfield extraction code throughout *ISelDAGToDAG.

E.g, ARMISelDAGToDAG, AArch64ISelDAGToDAG, and AMDGPUISelDAGToDAG all contain
code that matches a bitfield extract from an and + right shift.

Rather than duplicating code in the same way, this adds two opcodes:

- G_UBFX (unsigned bitfield extract)
- G_SBFX (signed bitfield extract)

They work like this

```
%x = G_UBFX %y, %lsb, %width
```

Where `lsb` and `width` are

- The least-significant bit of the extraction
- The width of the extraction

This will extract `width` bits from `%y`, starting at `lsb`. G_UBFX zero-extends
the result, while G_SBFX sign-extends the result.

This should allow us to use the combiner to match the bitfield extraction
patterns rather than duplicating pattern-matching code in each target.

Differential Revision: https://reviews.llvm.org/D98464
2021-03-19 14:37:19 -07:00
..
Analysis [ARM] Tone down the MVE scalarization overhead 2021-03-19 18:30:11 +00:00
Assembler [Assembler] Fix global icmp test 2021-03-08 17:26:49 +01:00
Bindings [OCaml] Handle nullptr in Llvm.global_initializer 2021-03-17 13:39:35 +00:00
Bitcode Support intrinsic overloading on unnamed types 2021-03-19 14:34:25 +01:00
BugPoint
CodeGen [RISCV] Maintain fixed-length info when optimizing BUILD_VECTORs 2021-03-19 17:21:06 +00:00
DebugInfo [RISCV] Make empty name symbols SF_FormatSpecific so that llvm-symbolizer ignores them for symbolization 2021-03-16 14:12:18 -07:00
Demangle
Examples
ExecutionEngine [JITLink] Add support for STT_NOTYPE symbols to ELF/x86-64. 2021-03-09 20:40:24 -08:00
Feature
FileCheck [FileCheck] Fix redundant diagnostics due to numeric errors 2021-03-17 19:25:41 -04:00
Instrumentation [dfsan] Turn on testing origin tracking at atomics.ll 2021-03-19 17:53:13 +00:00
Integer
JitListener
Linker Support intrinsic overloading on unnamed types 2021-03-19 14:34:25 +01:00
LTO [LTO][MC] Discard non-prevailing defined symbols in module-level assembly 2021-03-18 15:33:42 -07:00
MachineVerifier [GlobalISel] Add G_SBFX + G_UBFX (bitfield extraction opcodes) 2021-03-19 14:37:19 -07:00
MC Fix test case in b4a8c0ebb6d4 2021-03-18 15:55:48 -07:00
Object
ObjectYAML
Other Reland [SCEV] Improve modelling for (null) pointer constants 2021-03-13 16:05:34 +03:00
Reduce
SafepointIRVerifier
Support
SymbolRewriter
TableGen [TableGen] Improve handling of template arguments 2021-03-19 09:57:53 -04:00
ThinLTO/X86 [llvm] Change DSOLocalEquivalent type if the underlying global value type changes 2021-03-09 15:09:48 -08:00
tools [llvm-readobj] Remove legacy GNU_PROPERTY_X86_ISA_1_{NEEDED,USED} and dump new GNU_PROPERTY_X86_ISA_1_{NEEDED,USED} 2021-03-19 14:35:22 -07:00
Transforms [SLP] remove unnecessary characters in test; NFC 2021-03-19 15:09:53 -04:00
Unit [lit] Sort test start times based on prior test timing data 2021-03-16 05:23:04 -04:00
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg.py [Debugify][OriginalDIMode] Export the report into JSON file 2021-03-11 01:11:13 -08:00
lit.site.cfg.py.in [test] Add ability to get error messages from CMake for errc substitution 2021-03-15 20:56:08 +01:00
TestRunner.sh