<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/test/MC/SystemZ, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-11-04T09:38:18+00:00</updated>
<entry>
<title>[SystemZ]  Improve handling of huge PC relative immediate offsets.</title>
<updated>2019-11-04T09:38:18+00:00</updated>
<author>
<name>Jonas Paulsson</name>
<email>paulsson@linux.vnet.ibm.com</email>
</author>
<published>2019-11-02T08:38:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=580310ff0c57a62edd0c07aacfa4969809649444'/>
<id>urn:sha1:580310ff0c57a62edd0c07aacfa4969809649444</id>
<content type='text'>
Demand that an immediate offset to a PC relative address fits in 32 bits, or
else load it into a register and perform a separate add.

Verify in the assembler that such immediate offsets fit the bitwidth.

Even though the final address of a Load Address Relative Long may fit in 32
bits even with a &gt;32 bit offset (depending on where the symbol lives relative
to PC), the GNU toolchain demands the offset by itself to be in range. This
patch adapts the same behavior for llvm.

Review: Ulrich Weigand
https://reviews.llvm.org/D69749
</content>
</entry>
<entry>
<title>[SystemZ] Support z15 processor name</title>
<updated>2019-09-20T23:04:45+00:00</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2019-09-20T23:04:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=819c1651f723b51490eb98b3fc11cbd7dafc7831'/>
<id>urn:sha1:819c1651f723b51490eb98b3fc11cbd7dafc7831</id>
<content type='text'>
The recently announced IBM z15 processor implements the architecture
already supported as "arch13" in LLVM.  This patch adds support for
"z15" as an alternate architecture name for arch13.

The patch also uses z15 in a number of places where we used arch13
as long as the official name was not yet announced.

llvm-svn: 372435
</content>
</entry>
<entry>
<title>[SystemZ] Add support for new cpu architecture - arch13</title>
<updated>2019-07-12T18:13:16+00:00</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2019-07-12T18:13:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0f0a8b77843e73212ab20cc9657b4db7c928abc0'/>
<id>urn:sha1:0f0a8b77843e73212ab20cc9657b4db7c928abc0</id>
<content type='text'>
This patch series adds support for the next-generation arch13
CPU architecture to the SystemZ backend.

This includes:
- Basic support for the new processor and its features.
- Assembler/disassembler support for new instructions.
- CodeGen for new instructions, including new LLVM intrinsics.
- Scheduler description for the new processor.
- Detection of arch13 as host processor.

Note: No currently available Z system supports the arch13
architecture.  Once new systems become available, the
official system name will be added as supported -march name.

llvm-svn: 365932
</content>
</entry>
<entry>
<title>[SystemZ] Support vector load/store alignment hints</title>
<updated>2019-06-19T14:20:00+00:00</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2019-06-19T14:20:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=3641b10f3d580193c66909e82f0b05d1728ba18c'/>
<id>urn:sha1:3641b10f3d580193c66909e82f0b05d1728ba18c</id>
<content type='text'>
Vector load/store instructions support an optional alignment field
that the compiler can use to provide known alignment info to the
hardware.  If the field is used (and the information is correct),
the hardware may be able (on some models) to perform faster memory
accesses than otherwise.

This patch adds support for alignment hints in the assembler and
disassembler, and fills in known alignment during codegen.

llvm-svn: 363806
</content>
</entry>
<entry>
<title>[llvm-readobj] Change -long-option to --long-option in tests. NFC</title>
<updated>2019-05-01T05:27:20+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>maskray@google.com</email>
</author>
<published>2019-05-01T05:27:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e29e30b1397f3e50f3487491f8a77ae08e4e3471'/>
<id>urn:sha1:e29e30b1397f3e50f3487491f8a77ae08e4e3471</id>
<content type='text'>
We use both -long-option and --long-option in tests. Switch to --long-option for consistency.

In the "llvm-readelf" mode, -long-option is discouraged as it conflicts with grouped short options and it is not accepted by GNU readelf.

While updating the tests, change llvm-readobj -s to llvm-readobj -S to reduce confusion ("s" is --section-headers in llvm-readobj but --symbols in llvm-readelf).

llvm-svn: 359649
</content>
</entry>
<entry>
<title>[SystemZ] Implement SystemZOperand::print()</title>
<updated>2018-10-26T00:36:00+00:00</updated>
<author>
<name>Jonas Paulsson</name>
<email>paulsson@linux.vnet.ibm.com</email>
</author>
<published>2018-10-26T00:36:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=dda46307c20b58e33d40dd740684443e74d1d8e8'/>
<id>urn:sha1:dda46307c20b58e33d40dd740684443e74d1d8e8</id>
<content type='text'>
SystemZAsmParser can now handle -debug by printing the operands neatly to the
output stream. Before this patch this lead to an llvm_unreachable().

It seems that now '-mllvm -debug' does not cause any crashes anywhere (at
least not on SPEC).

Review: Ulrich Weigand
https://reviews.llvm.org/D53328

llvm-svn: 345349
</content>
</entry>
<entry>
<title>[SystemZ, AsmParser]  Enable the mnemonic spell corrector.</title>
<updated>2017-07-18T09:17:00+00:00</updated>
<author>
<name>Jonas Paulsson</name>
<email>paulsson@linux.vnet.ibm.com</email>
</author>
<published>2017-07-18T09:17:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d667417e80b248daf13bab378d08e8ba4ab49afc'/>
<id>urn:sha1:d667417e80b248daf13bab378d08e8ba4ab49afc</id>
<content type='text'>
This enables the suggestions of other mnemonics when invalid ones are
specified.

Review: Ulrich Weigand
llvm-svn: 308280
</content>
</entry>
<entry>
<title>[SystemZ] Add support for IBM z14 processor (3/3)</title>
<updated>2017-07-17T17:44:20+00:00</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2017-07-17T17:44:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f2968d58cb519ec9c772efba9b55a920c826737a'/>
<id>urn:sha1:f2968d58cb519ec9c772efba9b55a920c826737a</id>
<content type='text'>
This adds support for the new 128-bit vector float instructions of z14.
Note that these instructions actually only operate on the f128 type,
since only each 128-bit vector register can hold only one 128-bit
float value.  However, this is still preferable to the legacy 128-bit
float instructions, since those operate on pairs of floating-point
registers (so we can hold at most 8 values in registers), while the
new instructions use single vector registers (so we hold up to 32
value in registers).

Adding support includes:
- Enabling the instructions for the assembler/disassembler.
- CodeGen for the instructions.  This includes allocating the f128
  type now to the VR128BitRegClass instead of FP128BitRegClass.
- Scheduler description support for the instructions.

Note that for a small number of operations, we have no new vector
instructions (like integer &lt;-&gt; 128-bit float conversions), and so
we use the legacy instruction and then reformat the operand
(i.e. copy between a pair of floating-point registers and a
vector register).

llvm-svn: 308196
</content>
</entry>
<entry>
<title>[SystemZ] Add support for IBM z14 processor (2/3)</title>
<updated>2017-07-17T17:42:48+00:00</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2017-07-17T17:42:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=33435c4c9c1dcecd109aef3d23d46ea43618d9ae'/>
<id>urn:sha1:33435c4c9c1dcecd109aef3d23d46ea43618d9ae</id>
<content type='text'>
This adds support for the new 32-bit vector float instructions of z14.
This includes:
- Enabling the instructions for the assembler/disassembler.
- CodeGen for the instructions, including new LLVM intrinsics.
- Scheduler description support for the instructions.
- Update to the vector cost function calculations.

In general, CodeGen support for the new v4f32 instructions closely
matches support for the existing v2f64 instructions.

llvm-svn: 308195
</content>
</entry>
<entry>
<title>[SystemZ] Add support for IBM z14 processor (1/3)</title>
<updated>2017-07-17T17:41:11+00:00</updated>
<author>
<name>Ulrich Weigand</name>
<email>ulrich.weigand@de.ibm.com</email>
</author>
<published>2017-07-17T17:41:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2b3482fe8576f8e5de0d296baae5dfb290b9948a'/>
<id>urn:sha1:2b3482fe8576f8e5de0d296baae5dfb290b9948a</id>
<content type='text'>
This patch series adds support for the IBM z14 processor.  This part includes:
- Basic support for the new processor and its features.
- Support for new instructions (except vector 32-bit float and 128-bit float).
- CodeGen for new instructions, including new LLVM intrinsics.
- Scheduler description for the new processor.
- Detection of z14 as host processor.

Support for the new 32-bit vector float and 128-bit vector float
instructions is provided by separate patches.

llvm-svn: 308194
</content>
</entry>
</feed>
