[llvm-dev] Question Regarding SystemZ Implementation Missing Instructions

Main Framed via llvm-dev llvm-dev at lists.llvm.org
Thu Dec 3 13:03:28 PST 2015

Hi All,

I had some questions regarding the SystemZ implementation and missing

I've been comparing the IBM z/Architecture Reference Summary (SA22-7871-08)
to the output of
"llvm-tblgen SystemZ.td -print-enums -class=Instruction" and noticed that
there's 525 missing instructions.

For example, if I look at instruction "M" (page 16) with opcode 0x5c (M
Multiply (64 <- 32)) this instruction isn't listed in the output. Digging
further I confirmed this instruction isn't implemented
within SystemZInstrInfo.td (or any file in the llvm/lib/Target/SystemZ

Am I missing something or could this instruction be implemented elsewhere
within llvm?

I've also done cursory searching, here's a random selection of 12 (out of
525) more instructions that I've confirmed aren't implemented:

- ALSI Add Logical with Signed Immediate
- BAKR Branch and Stack
- BAL Branch and Link
- BALR Branch and Link
- CEGR Convert from Fixed (SH <- 64)
- MDR Multiply (LH)
- STCMY Store Characters under Mask (low)
- STMY Store Multiple (32)
- TAR Test Access
- VACCC Vector Add With Carry Compute Carry (NEW!)
- VFENE Vector Find Element Not Equal  (NEW!)

Soldier of Fortran
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151203/e44afcff/attachment-0001.html>

More information about the llvm-dev mailing list