From c3b20c260ee17a66c6306f81293c75681d8ea0aa Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Tue, 14 May 2013 10:17:52 +0000 Subject: [PATCH] [SystemZ] Add disassembler support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181777 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/CodeGenerator.rst | 2 +- lib/Target/SystemZ/CMakeLists.txt | 2 + .../SystemZ/Disassembler/CMakeLists.txt | 7 + lib/Target/SystemZ/Disassembler/LLVMBuild.txt | 23 ++ lib/Target/SystemZ/Disassembler/Makefile | 16 + .../Disassembler/SystemZDisassembler.cpp | 301 ++++++++++++++++++ .../InstPrinter/SystemZInstPrinter.cpp | 20 +- .../SystemZ/InstPrinter/SystemZInstPrinter.h | 1 + lib/Target/SystemZ/LLVMBuild.txt | 3 +- lib/Target/SystemZ/Makefile | 3 +- lib/Target/SystemZ/SystemZInstrFormats.td | 16 + lib/Target/SystemZ/SystemZOperands.td | 13 +- test/MC/Disassembler/SystemZ/insn-a.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-adb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-adbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-aeb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-aebr.txt | 12 + test/MC/Disassembler/SystemZ/insn-afi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-ag.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-agf.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-agfi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-agfr.txt | 12 + test/MC/Disassembler/SystemZ/insn-aghi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-agr.txt | 12 + test/MC/Disassembler/SystemZ/insn-agsi.txt | 39 +++ test/MC/Disassembler/SystemZ/insn-ah.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-ahi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-ahy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-al.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-alc.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-alcg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-alcgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-alcr.txt | 12 + test/MC/Disassembler/SystemZ/insn-alfi.txt | 9 + test/MC/Disassembler/SystemZ/insn-alg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-algf.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-algfi.txt | 9 + test/MC/Disassembler/SystemZ/insn-algfr.txt | 12 + test/MC/Disassembler/SystemZ/insn-algr.txt | 12 + test/MC/Disassembler/SystemZ/insn-alr.txt | 12 + test/MC/Disassembler/SystemZ/insn-aly.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-ar.txt | 12 + test/MC/Disassembler/SystemZ/insn-asi.txt | 39 +++ test/MC/Disassembler/SystemZ/insn-axbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-ay.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-basr.txt | 12 + test/MC/Disassembler/SystemZ/insn-br.txt | 9 + test/MC/Disassembler/SystemZ/insn-bras.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-brasl.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-brc.txt | 66 ++++ test/MC/Disassembler/SystemZ/insn-brcl.txt | 66 ++++ test/MC/Disassembler/SystemZ/insn-c.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-cdb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-cdbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-cdfbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-cdgbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-ceb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-cebr.txt | 12 + test/MC/Disassembler/SystemZ/insn-cefbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-cegbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-cfdbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-cfebr.txt | 15 + test/MC/Disassembler/SystemZ/insn-cfi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-cfxbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-cg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-cgdbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-cgebr.txt | 15 + test/MC/Disassembler/SystemZ/insn-cgf.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-cgfi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-cgfr.txt | 12 + test/MC/Disassembler/SystemZ/insn-cgfrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-cgh.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-cghi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-cghrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-cghsi.txt | 33 ++ test/MC/Disassembler/SystemZ/insn-cgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-cgrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-cgxbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-ch.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-chhsi.txt | 33 ++ test/MC/Disassembler/SystemZ/insn-chi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-chrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-chsi.txt | 33 ++ test/MC/Disassembler/SystemZ/insn-chy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-cl.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-clfhsi.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-clfi.txt | 9 + test/MC/Disassembler/SystemZ/insn-clg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-clgf.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-clgfi.txt | 9 + test/MC/Disassembler/SystemZ/insn-clgfr.txt | 12 + test/MC/Disassembler/SystemZ/insn-clgfrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-clghrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-clghsi.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-clgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-clgrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-clhhsi.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-clhrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-cli.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-cliy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-clr.txt | 12 + test/MC/Disassembler/SystemZ/insn-clrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-cly.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-cpsdr.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-cr.txt | 12 + test/MC/Disassembler/SystemZ/insn-crl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-cs.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-csg.txt | 33 ++ test/MC/Disassembler/SystemZ/insn-csy.txt | 33 ++ test/MC/Disassembler/SystemZ/insn-cxbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-cxfbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-cxgbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-cy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-ddb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-ddbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-deb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-debr.txt | 12 + test/MC/Disassembler/SystemZ/insn-dl.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-dlg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-dlgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-dlr.txt | 12 + test/MC/Disassembler/SystemZ/insn-dsg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-dsgf.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-dsgfr.txt | 12 + test/MC/Disassembler/SystemZ/insn-dsgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-dxbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-ear.txt | 15 + test/MC/Disassembler/SystemZ/insn-fidbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-fiebr.txt | 15 + test/MC/Disassembler/SystemZ/insn-fixbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-flogr.txt | 12 + test/MC/Disassembler/SystemZ/insn-ic.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-icy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-iihf.txt | 9 + test/MC/Disassembler/SystemZ/insn-iihh.txt | 12 + test/MC/Disassembler/SystemZ/insn-iihl.txt | 12 + test/MC/Disassembler/SystemZ/insn-iilf.txt | 9 + test/MC/Disassembler/SystemZ/insn-iilh.txt | 12 + test/MC/Disassembler/SystemZ/insn-iill.txt | 12 + test/MC/Disassembler/SystemZ/insn-l.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-la.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-larl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-lay.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-lb.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-lbr.txt | 9 + test/MC/Disassembler/SystemZ/insn-lcdbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lcebr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lcgfr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lcgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lcr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lcxbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-ld.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-ldeb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-ldebr.txt | 9 + test/MC/Disassembler/SystemZ/insn-ldgr.txt | 15 + test/MC/Disassembler/SystemZ/insn-ldr.txt | 12 + test/MC/Disassembler/SystemZ/insn-ldxbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-ldy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-le.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-ledbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-ler.txt | 12 + test/MC/Disassembler/SystemZ/insn-lexbr.txt | 15 + test/MC/Disassembler/SystemZ/insn-ley.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-lg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-lgb.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-lgbr.txt | 9 + test/MC/Disassembler/SystemZ/insn-lgdr.txt | 15 + test/MC/Disassembler/SystemZ/insn-lgf.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-lgfi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-lgfr.txt | 9 + test/MC/Disassembler/SystemZ/insn-lgfrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-lgh.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-lghi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-lghr.txt | 9 + test/MC/Disassembler/SystemZ/insn-lghrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-lgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lgrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-lh.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-lhi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-lhr.txt | 9 + test/MC/Disassembler/SystemZ/insn-lhrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-lhy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-llc.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-llcr.txt | 9 + test/MC/Disassembler/SystemZ/insn-llgc.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-llgcr.txt | 9 + test/MC/Disassembler/SystemZ/insn-llgf.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-llgfr.txt | 9 + test/MC/Disassembler/SystemZ/insn-llgfrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-llgh.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-llghr.txt | 9 + test/MC/Disassembler/SystemZ/insn-llghrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-llh.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-llhr.txt | 9 + test/MC/Disassembler/SystemZ/insn-llhrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-llihf.txt | 9 + test/MC/Disassembler/SystemZ/insn-llihh.txt | 12 + test/MC/Disassembler/SystemZ/insn-llihl.txt | 12 + test/MC/Disassembler/SystemZ/insn-llilf.txt | 9 + test/MC/Disassembler/SystemZ/insn-llilh.txt | 12 + test/MC/Disassembler/SystemZ/insn-llill.txt | 12 + test/MC/Disassembler/SystemZ/insn-lmg.txt | 39 +++ test/MC/Disassembler/SystemZ/insn-lndbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lnebr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lnxbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lpdbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lpebr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lpxbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lr.txt | 12 + test/MC/Disassembler/SystemZ/insn-lrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-lrv.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-lrvg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-lrvgr.txt | 15 + test/MC/Disassembler/SystemZ/insn-lrvr.txt | 15 + test/MC/Disassembler/SystemZ/insn-lxr.txt | 12 + test/MC/Disassembler/SystemZ/insn-ly.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-lzdr.txt | 9 + test/MC/Disassembler/SystemZ/insn-lzer.txt | 9 + test/MC/Disassembler/SystemZ/insn-lzxr.txt | 9 + test/MC/Disassembler/SystemZ/insn-madb.txt | 27 ++ test/MC/Disassembler/SystemZ/insn-madbr.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-maeb.txt | 27 ++ test/MC/Disassembler/SystemZ/insn-maebr.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-mdb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-mdbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-mdeb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-mdebr.txt | 12 + test/MC/Disassembler/SystemZ/insn-meeb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-meebr.txt | 12 + test/MC/Disassembler/SystemZ/insn-mghi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-mh.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-mhi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-mhy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-mlg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-mlgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-ms.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-msdb.txt | 27 ++ test/MC/Disassembler/SystemZ/insn-msdbr.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-mseb.txt | 27 ++ test/MC/Disassembler/SystemZ/insn-msebr.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-msfi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-msg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-msgf.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-msgfi.txt | 18 ++ test/MC/Disassembler/SystemZ/insn-msgfr.txt | 12 + test/MC/Disassembler/SystemZ/insn-msgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-msr.txt | 12 + test/MC/Disassembler/SystemZ/insn-msy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-mvghi.txt | 33 ++ test/MC/Disassembler/SystemZ/insn-mvhhi.txt | 33 ++ test/MC/Disassembler/SystemZ/insn-mvhi.txt | 33 ++ test/MC/Disassembler/SystemZ/insn-mvi.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-mviy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-mxbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-mxdb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-mxdbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-n.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-ng.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-ngr.txt | 12 + test/MC/Disassembler/SystemZ/insn-ni.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-nihf.txt | 9 + test/MC/Disassembler/SystemZ/insn-nihh.txt | 12 + test/MC/Disassembler/SystemZ/insn-nihl.txt | 12 + test/MC/Disassembler/SystemZ/insn-nilf.txt | 9 + test/MC/Disassembler/SystemZ/insn-nilh.txt | 12 + test/MC/Disassembler/SystemZ/insn-nill.txt | 12 + test/MC/Disassembler/SystemZ/insn-niy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-nr.txt | 12 + test/MC/Disassembler/SystemZ/insn-ny.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-o.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-og.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-ogr.txt | 12 + test/MC/Disassembler/SystemZ/insn-oi.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-oihf.txt | 9 + test/MC/Disassembler/SystemZ/insn-oihh.txt | 12 + test/MC/Disassembler/SystemZ/insn-oihl.txt | 12 + test/MC/Disassembler/SystemZ/insn-oilf.txt | 9 + test/MC/Disassembler/SystemZ/insn-oilh.txt | 12 + test/MC/Disassembler/SystemZ/insn-oill.txt | 12 + test/MC/Disassembler/SystemZ/insn-oiy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-or.txt | 12 + test/MC/Disassembler/SystemZ/insn-oy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-risbg.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-rll.txt | 36 +++ test/MC/Disassembler/SystemZ/insn-rllg.txt | 36 +++ test/MC/Disassembler/SystemZ/insn-s.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-sdb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-sdbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-seb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-sebr.txt | 12 + test/MC/Disassembler/SystemZ/insn-sg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-sgf.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-sgfr.txt | 12 + test/MC/Disassembler/SystemZ/insn-sgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-sl.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-slb.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-slbg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-slbgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-slbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-slfi.txt | 9 + test/MC/Disassembler/SystemZ/insn-slg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-slgf.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-slgfi.txt | 9 + test/MC/Disassembler/SystemZ/insn-slgfr.txt | 12 + test/MC/Disassembler/SystemZ/insn-slgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-sll.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-sllg.txt | 36 +++ test/MC/Disassembler/SystemZ/insn-slr.txt | 12 + test/MC/Disassembler/SystemZ/insn-sly.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-sqdb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-sqdbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-sqeb.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-sqebr.txt | 12 + test/MC/Disassembler/SystemZ/insn-sqxbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-sr.txt | 12 + test/MC/Disassembler/SystemZ/insn-sra.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-srag.txt | 36 +++ test/MC/Disassembler/SystemZ/insn-srl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-srlg.txt | 36 +++ test/MC/Disassembler/SystemZ/insn-st.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-stc.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-stcy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-std.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-stdy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-ste.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-stey.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-stg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-stgrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-sth.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-sthrl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-sthy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-stmg.txt | 39 +++ test/MC/Disassembler/SystemZ/insn-strl.txt | 24 ++ test/MC/Disassembler/SystemZ/insn-strv.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-strvg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-sty.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-sxbr.txt | 12 + test/MC/Disassembler/SystemZ/insn-sy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-x.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-xg.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-xgr.txt | 12 + test/MC/Disassembler/SystemZ/insn-xi.txt | 21 ++ test/MC/Disassembler/SystemZ/insn-xihf.txt | 9 + test/MC/Disassembler/SystemZ/insn-xilf.txt | 9 + test/MC/Disassembler/SystemZ/insn-xiy.txt | 30 ++ test/MC/Disassembler/SystemZ/insn-xr.txt | 12 + test/MC/Disassembler/SystemZ/insn-xy.txt | 30 ++ .../Disassembler/SystemZ/invalid-regs-01.txt | 22 ++ test/MC/Disassembler/SystemZ/lit.local.cfg | 6 + test/MC/Disassembler/SystemZ/trunc-01.txt | 5 + test/MC/Disassembler/SystemZ/trunc-02.txt | 5 + test/MC/Disassembler/SystemZ/trunc-03.txt | 5 + test/MC/Disassembler/SystemZ/unmapped-01.txt | 32 ++ 353 files changed, 7189 insertions(+), 7 deletions(-) create mode 100644 lib/Target/SystemZ/Disassembler/CMakeLists.txt create mode 100644 lib/Target/SystemZ/Disassembler/LLVMBuild.txt create mode 100644 lib/Target/SystemZ/Disassembler/Makefile create mode 100644 lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp create mode 100644 test/MC/Disassembler/SystemZ/insn-a.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-adb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-adbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-aeb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-aebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-afi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ag.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-agf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-agfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-agfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-aghi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-agr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-agsi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ah.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ahi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ahy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-al.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-alc.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-alcg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-alcgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-alcr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-alfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-alg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-algf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-algfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-algfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-algr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-alr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-aly.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ar.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-asi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-axbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ay.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-basr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-br.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-bras.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-brasl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-brc.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-brcl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-c.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cdb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cdbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cdfbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cdgbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ceb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cefbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cegbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cfdbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cfebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cfxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cgdbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cgebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cgf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cgfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cgfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cgfrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cgh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cghi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cghrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cghsi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cgrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cgxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ch.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-chhsi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-chi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-chrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-chsi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-chy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clfhsi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clgf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clgfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clgfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clgfrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clghrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clghsi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clgrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clhhsi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clhrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cli.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cliy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-clrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cly.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cpsdr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-crl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cs.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-csg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-csy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cxfbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cxgbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-cy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ddb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ddbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-deb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-debr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-dl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-dlg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-dlgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-dlr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-dsg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-dsgf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-dsgfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-dsgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-dxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ear.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-fidbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-fiebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-fixbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-flogr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ic.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-icy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-iihf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-iihh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-iihl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-iilf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-iilh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-iill.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-l.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-la.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-larl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lay.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lcdbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lcebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lcgfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lcgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lcr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lcxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ld.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ldeb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ldebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ldgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ldr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ldxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ldy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-le.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ledbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ler.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lexbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ley.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lgb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lgbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lgdr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lgf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lgfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lgfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lgfrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lgh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lghi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lghr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lghrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lgrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lhi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lhr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lhrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lhy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llc.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llcr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llgc.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llgcr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llgf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llgfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llgfrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llgh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llghr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llghrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llhr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llhrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llihf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llihh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llihl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llilf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llilh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-llill.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lmg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lndbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lnebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lnxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lpdbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lpebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lpxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lrv.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lrvg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lrvgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lrvr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lxr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ly.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lzdr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lzer.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-lzxr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-madb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-madbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-maeb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-maebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mdb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mdbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mdeb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mdebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-meeb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-meebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mghi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mhi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mhy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mlg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mlgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ms.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msdb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msdbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mseb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msgf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msgfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msgfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-msy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mvghi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mvhhi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mvhi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mvi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mviy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mxdb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-mxdbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-n.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ng.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ngr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ni.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-nihf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-nihh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-nihl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-nilf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-nilh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-nill.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-niy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-nr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ny.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-o.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-og.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ogr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-oi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-oihf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-oihh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-oihl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-oilf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-oilh.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-oill.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-oiy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-or.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-oy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-risbg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-rll.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-rllg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-s.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sdb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sdbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-seb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sgf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sgfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slbg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slbgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slgf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slgfi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slgfr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sll.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sllg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-slr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sly.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sqdb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sqdbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sqeb.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sqebr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sqxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sra.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-srag.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-srl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-srlg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-st.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-stc.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-stcy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-std.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-stdy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-ste.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-stey.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-stg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-stgrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sth.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sthrl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sthy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-stmg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-strl.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-strv.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-strvg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sty.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sxbr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-sy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-x.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-xg.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-xgr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-xi.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-xihf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-xilf.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-xiy.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-xr.txt create mode 100644 test/MC/Disassembler/SystemZ/insn-xy.txt create mode 100644 test/MC/Disassembler/SystemZ/invalid-regs-01.txt create mode 100644 test/MC/Disassembler/SystemZ/lit.local.cfg create mode 100644 test/MC/Disassembler/SystemZ/trunc-01.txt create mode 100644 test/MC/Disassembler/SystemZ/trunc-02.txt create mode 100644 test/MC/Disassembler/SystemZ/trunc-03.txt create mode 100644 test/MC/Disassembler/SystemZ/unmapped-01.txt diff --git a/docs/CodeGenerator.rst b/docs/CodeGenerator.rst index 10ca307b786..d54df0f6f4b 100644 --- a/docs/CodeGenerator.rst +++ b/docs/CodeGenerator.rst @@ -1838,7 +1838,7 @@ Here is the table: :raw-html:` ` :raw-html:` ` :raw-html:` ` -:raw-html:` ` +:raw-html:` ` :raw-html:` ` :raw-html:` ` :raw-html:` ` diff --git a/lib/Target/SystemZ/CMakeLists.txt b/lib/Target/SystemZ/CMakeLists.txt index 67b17fcc593..757d5a88986 100644 --- a/lib/Target/SystemZ/CMakeLists.txt +++ b/lib/Target/SystemZ/CMakeLists.txt @@ -4,6 +4,7 @@ tablegen(LLVM SystemZGenAsmMatcher.inc -gen-asm-matcher) tablegen(LLVM SystemZGenAsmWriter.inc -gen-asm-writer) tablegen(LLVM SystemZGenCallingConv.inc -gen-callingconv) tablegen(LLVM SystemZGenDAGISel.inc -gen-dag-isel) +tablegen(LLVM SystemZGenDisassemblerTables.inc -gen-disassembler) tablegen(LLVM SystemZGenMCCodeEmitter.inc -gen-emitter -mc-emitter) tablegen(LLVM SystemZGenInstrInfo.inc -gen-instr-info) tablegen(LLVM SystemZGenRegisterInfo.inc -gen-register-info) @@ -27,6 +28,7 @@ add_llvm_target(SystemZCodeGen add_dependencies(LLVMSystemZCodeGen intrinsics_gen) add_subdirectory(AsmParser) +add_subdirectory(Disassembler) add_subdirectory(InstPrinter) add_subdirectory(TargetInfo) add_subdirectory(MCTargetDesc) diff --git a/lib/Target/SystemZ/Disassembler/CMakeLists.txt b/lib/Target/SystemZ/Disassembler/CMakeLists.txt new file mode 100644 index 00000000000..5bc1859816f --- /dev/null +++ b/lib/Target/SystemZ/Disassembler/CMakeLists.txt @@ -0,0 +1,7 @@ +include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/.. ) + +add_llvm_library(LLVMSystemZDisassembler + SystemZDisassembler.cpp + ) + +add_dependencies(LLVMSystemZDisassembler SystemZCommonTableGen) diff --git a/lib/Target/SystemZ/Disassembler/LLVMBuild.txt b/lib/Target/SystemZ/Disassembler/LLVMBuild.txt new file mode 100644 index 00000000000..c3081f5447b --- /dev/null +++ b/lib/Target/SystemZ/Disassembler/LLVMBuild.txt @@ -0,0 +1,23 @@ +;===-- ./lib/Target/SystemZ/Disassembler/LLVMBuild.txt ---------*- Conf -*--===; +; +; The LLVM Compiler Infrastructure +; +; This file is distributed under the University of Illinois Open Source +; License. See LICENSE.TXT for details. +; +;===------------------------------------------------------------------------===; +; +; This is an LLVMBuild description file for the components in this subdirectory. +; +; For more information on the LLVMBuild system, please see: +; +; http://llvm.org/docs/LLVMBuild.html +; +;===------------------------------------------------------------------------===; + +[component_0] +type = Library +name = SystemZDisassembler +parent = SystemZ +required_libraries = MC Support SystemZDesc SystemZInfo +add_to_library_groups = SystemZ diff --git a/lib/Target/SystemZ/Disassembler/Makefile b/lib/Target/SystemZ/Disassembler/Makefile new file mode 100644 index 00000000000..efc4cc8e9cb --- /dev/null +++ b/lib/Target/SystemZ/Disassembler/Makefile @@ -0,0 +1,16 @@ +##===-- lib/Target/SystemZ/Disassembler/Makefile -----------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## + +LEVEL = ../../../.. +LIBRARYNAME = LLVMSystemZDisassembler + +# Hack: we need to include 'main' x86 target directory to grab private headers +CPP.Flags += -I$(PROJ_OBJ_DIR)/.. -I$(PROJ_SRC_DIR)/.. + +include $(LEVEL)/Makefile.common diff --git a/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp b/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp new file mode 100644 index 00000000000..9a9de782240 --- /dev/null +++ b/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp @@ -0,0 +1,301 @@ +//===-- SystemZDisassembler.cpp - Disassembler for SystemZ ------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "SystemZ.h" +#include "llvm/MC/MCDisassembler.h" +#include "llvm/MC/MCFixedLenDisassembler.h" +#include "llvm/MC/MCInst.h" +#include "llvm/MC/MCSubtargetInfo.h" +#include "llvm/Support/MemoryObject.h" +#include "llvm/Support/TargetRegistry.h" + +using namespace llvm; + +typedef MCDisassembler::DecodeStatus DecodeStatus; + +namespace { +class SystemZDisassembler : public MCDisassembler { +public: + SystemZDisassembler(const MCSubtargetInfo &STI) + : MCDisassembler(STI) {} + virtual ~SystemZDisassembler() {} + + // Override MCDisassembler. + virtual DecodeStatus getInstruction(MCInst &instr, + uint64_t &size, + const MemoryObject ®ion, + uint64_t address, + raw_ostream &vStream, + raw_ostream &cStream) const LLVM_OVERRIDE; +}; +} // end anonymous namespace + +static MCDisassembler *createSystemZDisassembler(const Target &T, + const MCSubtargetInfo &STI) { + return new SystemZDisassembler(STI); +} + +extern "C" void LLVMInitializeSystemZDisassembler() { + // Register the disassembler. + TargetRegistry::RegisterMCDisassembler(TheSystemZTarget, + createSystemZDisassembler); +} + +static DecodeStatus decodeRegisterClass(MCInst &Inst, uint64_t RegNo, + const unsigned *Regs, + bool isAddress = false) { + assert(RegNo < 16 && "Invalid register"); + if (!isAddress || RegNo) { + RegNo = Regs[RegNo]; + if (RegNo == 0) + return MCDisassembler::Fail; + } + Inst.addOperand(MCOperand::CreateReg(RegNo)); + return MCDisassembler::Success; +} + +static DecodeStatus DecodeGR32BitRegisterClass(MCInst &Inst, uint64_t RegNo, + uint64_t Address, + const void *Decoder) { + return decodeRegisterClass(Inst, RegNo, SystemZMC::GR32Regs); +} + +static DecodeStatus DecodeGR64BitRegisterClass(MCInst &Inst, uint64_t RegNo, + uint64_t Address, + const void *Decoder) { + return decodeRegisterClass(Inst, RegNo, SystemZMC::GR64Regs); +} + +static DecodeStatus DecodeGR128BitRegisterClass(MCInst &Inst, uint64_t RegNo, + uint64_t Address, + const void *Decoder) { + return decodeRegisterClass(Inst, RegNo, SystemZMC::GR128Regs); +} + +static DecodeStatus DecodeADDR64BitRegisterClass(MCInst &Inst, uint64_t RegNo, + uint64_t Address, + const void *Decoder) { + return decodeRegisterClass(Inst, RegNo, SystemZMC::GR64Regs, true); +} + +static DecodeStatus DecodeFP32BitRegisterClass(MCInst &Inst, uint64_t RegNo, + uint64_t Address, + const void *Decoder) { + return decodeRegisterClass(Inst, RegNo, SystemZMC::FP32Regs); +} + +static DecodeStatus DecodeFP64BitRegisterClass(MCInst &Inst, uint64_t RegNo, + uint64_t Address, + const void *Decoder) { + return decodeRegisterClass(Inst, RegNo, SystemZMC::FP64Regs); +} + +static DecodeStatus DecodeFP128BitRegisterClass(MCInst &Inst, uint64_t RegNo, + uint64_t Address, + const void *Decoder) { + return decodeRegisterClass(Inst, RegNo, SystemZMC::FP128Regs); +} + +template +static DecodeStatus decodeUImmOperand(MCInst &Inst, uint64_t Imm) { + assert(isUInt(Imm) && "Invalid immediate"); + Inst.addOperand(MCOperand::CreateImm(Imm)); + return MCDisassembler::Success; +} + +template +static DecodeStatus decodeSImmOperand(MCInst &Inst, uint64_t Imm) { + assert(isUInt(Imm) && "Invalid immediate"); + Inst.addOperand(MCOperand::CreateImm(SignExtend64(Imm))); + return MCDisassembler::Success; +} + +static DecodeStatus decodeAccessRegOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, + const void *Decoder) { + return decodeUImmOperand<4>(Inst, Imm); +} + +static DecodeStatus decodeU4ImmOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, const void *Decoder) { + return decodeUImmOperand<4>(Inst, Imm); +} + +static DecodeStatus decodeU6ImmOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, const void *Decoder) { + return decodeUImmOperand<6>(Inst, Imm); +} + +static DecodeStatus decodeU8ImmOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, const void *Decoder) { + return decodeUImmOperand<8>(Inst, Imm); +} + +static DecodeStatus decodeU16ImmOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, const void *Decoder) { + return decodeUImmOperand<16>(Inst, Imm); +} + +static DecodeStatus decodeU32ImmOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, const void *Decoder) { + return decodeUImmOperand<32>(Inst, Imm); +} + +static DecodeStatus decodeS8ImmOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, const void *Decoder) { + return decodeSImmOperand<8>(Inst, Imm); +} + +static DecodeStatus decodeS16ImmOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, const void *Decoder) { + return decodeSImmOperand<16>(Inst, Imm); +} + +static DecodeStatus decodeS32ImmOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, const void *Decoder) { + return decodeSImmOperand<32>(Inst, Imm); +} + +template +static DecodeStatus decodePCDBLOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address) { + assert(isUInt(Imm) && "Invalid PC-relative offset"); + Inst.addOperand(MCOperand::CreateImm(SignExtend64(Imm) * 2 + Address)); + return MCDisassembler::Success; +} + +static DecodeStatus decodePC16DBLOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, + const void *Decoder) { + return decodePCDBLOperand<16>(Inst, Imm, Address); +} + +static DecodeStatus decodePC32DBLOperand(MCInst &Inst, uint64_t Imm, + uint64_t Address, + const void *Decoder) { + return decodePCDBLOperand<32>(Inst, Imm, Address); +} + +static DecodeStatus decodeBDAddr12Operand(MCInst &Inst, uint64_t Field, + const unsigned *Regs) { + uint64_t Base = Field >> 12; + uint64_t Disp = Field & 0xfff; + assert(Base < 16 && "Invalid BDAddr12"); + Inst.addOperand(MCOperand::CreateReg(Base == 0 ? 0 : Regs[Base])); + Inst.addOperand(MCOperand::CreateImm(Disp)); + return MCDisassembler::Success; +} + +static DecodeStatus decodeBDAddr20Operand(MCInst &Inst, uint64_t Field, + const unsigned *Regs) { + uint64_t Base = Field >> 20; + uint64_t Disp = ((Field << 12) & 0xff000) | ((Field >> 8) & 0xfff); + assert(Base < 16 && "Invalid BDAddr20"); + Inst.addOperand(MCOperand::CreateReg(Base == 0 ? 0 : Regs[Base])); + Inst.addOperand(MCOperand::CreateImm(SignExtend64<20>(Disp))); + return MCDisassembler::Success; +} + +static DecodeStatus decodeBDXAddr12Operand(MCInst &Inst, uint64_t Field, + const unsigned *Regs) { + uint64_t Index = Field >> 16; + uint64_t Base = (Field >> 12) & 0xf; + uint64_t Disp = Field & 0xfff; + assert(Index < 16 && "Invalid BDXAddr12"); + Inst.addOperand(MCOperand::CreateReg(Base == 0 ? 0 : Regs[Base])); + Inst.addOperand(MCOperand::CreateImm(Disp)); + Inst.addOperand(MCOperand::CreateReg(Index == 0 ? 0 : Regs[Index])); + return MCDisassembler::Success; +} + +static DecodeStatus decodeBDXAddr20Operand(MCInst &Inst, uint64_t Field, + const unsigned *Regs) { + uint64_t Index = Field >> 24; + uint64_t Base = (Field >> 20) & 0xf; + uint64_t Disp = ((Field & 0xfff00) >> 8) | ((Field & 0xff) << 12); + assert(Index < 16 && "Invalid BDXAddr20"); + Inst.addOperand(MCOperand::CreateReg(Base == 0 ? 0 : Regs[Base])); + Inst.addOperand(MCOperand::CreateImm(SignExtend64<20>(Disp))); + Inst.addOperand(MCOperand::CreateReg(Index == 0 ? 0 : Regs[Index])); + return MCDisassembler::Success; +} + +static DecodeStatus decodeBDAddr32Disp12Operand(MCInst &Inst, uint64_t Field, + uint64_t Address, + const void *Decoder) { + return decodeBDAddr12Operand(Inst, Field, SystemZMC::GR32Regs); +} + +static DecodeStatus decodeBDAddr32Disp20Operand(MCInst &Inst, uint64_t Field, + uint64_t Address, + const void *Decoder) { + return decodeBDAddr20Operand(Inst, Field, SystemZMC::GR32Regs); +} + +static DecodeStatus decodeBDAddr64Disp12Operand(MCInst &Inst, uint64_t Field, + uint64_t Address, + const void *Decoder) { + return decodeBDAddr12Operand(Inst, Field, SystemZMC::GR64Regs); +} + +static DecodeStatus decodeBDAddr64Disp20Operand(MCInst &Inst, uint64_t Field, + uint64_t Address, + const void *Decoder) { + return decodeBDAddr20Operand(Inst, Field, SystemZMC::GR64Regs); +} + +static DecodeStatus decodeBDXAddr64Disp12Operand(MCInst &Inst, uint64_t Field, + uint64_t Address, + const void *Decoder) { + return decodeBDXAddr12Operand(Inst, Field, SystemZMC::GR64Regs); +} + +static DecodeStatus decodeBDXAddr64Disp20Operand(MCInst &Inst, uint64_t Field, + uint64_t Address, + const void *Decoder) { + return decodeBDXAddr20Operand(Inst, Field, SystemZMC::GR64Regs); +} + +#include "SystemZGenDisassemblerTables.inc" + +DecodeStatus SystemZDisassembler::getInstruction(MCInst &MI, uint64_t &Size, + const MemoryObject &Region, + uint64_t Address, + raw_ostream &os, + raw_ostream &cs) const { + // Get the first two bytes of the instruction. + uint8_t Bytes[6]; + Size = 0; + if (Region.readBytes(Address, 2, Bytes, 0) == -1) + return MCDisassembler::Fail; + + // The top 2 bits of the first byte specify the size. + const uint8_t *Table; + if (Bytes[0] < 0x40) { + Size = 2; + Table = DecoderTable16; + } else if (Bytes[0] < 0xc0) { + Size = 4; + Table = DecoderTable32; + } else { + Size = 6; + Table = DecoderTable48; + } + + // Read any remaining bytes. + if (Size > 2 && Region.readBytes(Address + 2, Size - 2, Bytes + 2, 0) == -1) + return MCDisassembler::Fail; + + // Construct the instruction. + uint64_t Inst = 0; + for (uint64_t I = 0; I < Size; ++I) + Inst = (Inst << 8) | Bytes[I]; + + return decodeInstruction(Table, MI, Inst, Address, this, STI); +} diff --git a/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.cpp b/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.cpp index d73cf498089..369802b2b81 100644 --- a/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.cpp +++ b/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.cpp @@ -114,10 +114,26 @@ void SystemZInstPrinter::printAccessRegOperand(const MCInst *MI, int OpNum, O << "%a" << (unsigned int)Value; } +void SystemZInstPrinter::printPCRelOperand(const MCInst *MI, int OpNum, + raw_ostream &O) { + const MCOperand &MO = MI->getOperand(OpNum); + if (MO.isImm()) { + O << "0x"; + O.write_hex(MO.getImm()); + } else + O << *MO.getExpr(); +} + void SystemZInstPrinter::printCallOperand(const MCInst *MI, int OpNum, raw_ostream &O) { - printOperand(MI, OpNum, O); - O << "@PLT"; + const MCOperand &MO = MI->getOperand(OpNum); + if (MO.isImm()) { + O << "0x"; + O.write_hex(MO.getImm()); + } else { + O << *MO.getExpr(); + O << "@PLT"; + } } void SystemZInstPrinter::printOperand(const MCInst *MI, int OpNum, diff --git a/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.h b/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.h index b82e79d93cd..f77282efcb9 100644 --- a/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.h +++ b/lib/Target/SystemZ/InstPrinter/SystemZInstPrinter.h @@ -56,6 +56,7 @@ private: void printU16ImmOperand(const MCInst *MI, int OpNum, raw_ostream &O); void printS32ImmOperand(const MCInst *MI, int OpNum, raw_ostream &O); void printU32ImmOperand(const MCInst *MI, int OpNum, raw_ostream &O); + void printPCRelOperand(const MCInst *MI, int OpNum, raw_ostream &O); void printCallOperand(const MCInst *MI, int OpNum, raw_ostream &O); void printAccessRegOperand(const MCInst *MI, int OpNum, raw_ostream &O); diff --git a/lib/Target/SystemZ/LLVMBuild.txt b/lib/Target/SystemZ/LLVMBuild.txt index aba0de27ac0..95e657f7bd1 100644 --- a/lib/Target/SystemZ/LLVMBuild.txt +++ b/lib/Target/SystemZ/LLVMBuild.txt @@ -16,7 +16,7 @@ ;===------------------------------------------------------------------------===; [common] -subdirectories = AsmParser InstPrinter MCTargetDesc TargetInfo +subdirectories = AsmParser Disassembler InstPrinter MCTargetDesc TargetInfo [component_0] type = TargetGroup @@ -24,6 +24,7 @@ name = SystemZ parent = Target has_asmparser = 1 has_asmprinter = 1 +has_disassembler = 1 has_jit = 1 [component_1] diff --git a/lib/Target/SystemZ/Makefile b/lib/Target/SystemZ/Makefile index c992584af91..445725bd1e1 100644 --- a/lib/Target/SystemZ/Makefile +++ b/lib/Target/SystemZ/Makefile @@ -16,13 +16,14 @@ BUILT_SOURCES = SystemZGenRegisterInfo.inc \ SystemZGenAsmWriter.inc \ SystemZGenAsmMatcher.inc \ SystemZGenCodeEmitter.inc \ + SystemZGenDisassemblerTables.inc \ SystemZGenInstrInfo.inc \ SystemZGenDAGISel.inc \ SystemZGenSubtargetInfo.inc \ SystemZGenCallingConv.inc \ SystemZGenMCCodeEmitter.inc -DIRS = InstPrinter AsmParser TargetInfo MCTargetDesc +DIRS = InstPrinter AsmParser Disassembler TargetInfo MCTargetDesc include $(LEVEL)/Makefile.common diff --git a/lib/Target/SystemZ/SystemZInstrFormats.td b/lib/Target/SystemZ/SystemZInstrFormats.td index b7511d50ff3..bf5aa8dbeb8 100644 --- a/lib/Target/SystemZ/SystemZInstrFormats.td +++ b/lib/Target/SystemZ/SystemZInstrFormats.td @@ -99,6 +99,7 @@ def getDisp20Opcode : InstrMapping { class InstRI op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<4, outs, ins, asmstr, pattern> { field bits<32> Inst; + field bits<32> SoftFail = 0; bits<4> R1; bits<16> I2; @@ -112,6 +113,7 @@ class InstRI op, dag outs, dag ins, string asmstr, list pattern> class InstRIEf op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<6, outs, ins, asmstr, pattern> { field bits<48> Inst; + field bits<48> SoftFail = 0; bits<4> R1; bits<4> R2; @@ -131,6 +133,7 @@ class InstRIEf op, dag outs, dag ins, string asmstr, list pattern> class InstRIL op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<6, outs, ins, asmstr, pattern> { field bits<48> Inst; + field bits<48> SoftFail = 0; bits<4> R1; bits<32> I2; @@ -144,6 +147,7 @@ class InstRIL op, dag outs, dag ins, string asmstr, list pattern> class InstRR op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<2, outs, ins, asmstr, pattern> { field bits<16> Inst; + field bits<16> SoftFail = 0; bits<4> R1; bits<4> R2; @@ -156,6 +160,7 @@ class InstRR op, dag outs, dag ins, string asmstr, list pattern> class InstRRD op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<4, outs, ins, asmstr, pattern> { field bits<32> Inst; + field bits<32> SoftFail = 0; bits<4> R1; bits<4> R3; @@ -171,6 +176,7 @@ class InstRRD op, dag outs, dag ins, string asmstr, list pattern> class InstRRE op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<4, outs, ins, asmstr, pattern> { field bits<32> Inst; + field bits<32> SoftFail = 0; bits<4> R1; bits<4> R2; @@ -184,6 +190,7 @@ class InstRRE op, dag outs, dag ins, string asmstr, list pattern> class InstRRF op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<4, outs, ins, asmstr, pattern> { field bits<32> Inst; + field bits<32> SoftFail = 0; bits<4> R1; bits<4> R2; @@ -199,6 +206,7 @@ class InstRRF op, dag outs, dag ins, string asmstr, list pattern> class InstRX op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<4, outs, ins, asmstr, pattern> { field bits<32> Inst; + field bits<32> SoftFail = 0; bits<4> R1; bits<20> XBD2; @@ -213,6 +221,7 @@ class InstRX op, dag outs, dag ins, string asmstr, list pattern> class InstRXE op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<6, outs, ins, asmstr, pattern> { field bits<48> Inst; + field bits<48> SoftFail = 0; bits<4> R1; bits<20> XBD2; @@ -229,6 +238,7 @@ class InstRXE op, dag outs, dag ins, string asmstr, list pattern> class InstRXF op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<6, outs, ins, asmstr, pattern> { field bits<48> Inst; + field bits<48> SoftFail = 0; bits<4> R1; bits<4> R3; @@ -247,6 +257,7 @@ class InstRXF op, dag outs, dag ins, string asmstr, list pattern> class InstRXY op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<6, outs, ins, asmstr, pattern> { field bits<48> Inst; + field bits<48> SoftFail = 0; bits<4> R1; bits<28> XBD2; @@ -263,6 +274,7 @@ class InstRXY op, dag outs, dag ins, string asmstr, list pattern> class InstRS op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<4, outs, ins, asmstr, pattern> { field bits<32> Inst; + field bits<32> SoftFail = 0; bits<4> R1; bits<4> R3; @@ -277,6 +289,7 @@ class InstRS op, dag outs, dag ins, string asmstr, list pattern> class InstRSY op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<6, outs, ins, asmstr, pattern> { field bits<48> Inst; + field bits<48> SoftFail = 0; bits<4> R1; bits<4> R3; @@ -294,6 +307,7 @@ class InstRSY op, dag outs, dag ins, string asmstr, list pattern> class InstSI op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<4, outs, ins, asmstr, pattern> { field bits<32> Inst; + field bits<32> SoftFail = 0; bits<16> BD1; bits<8> I2; @@ -306,6 +320,7 @@ class InstSI op, dag outs, dag ins, string asmstr, list pattern> class InstSIL op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<6, outs, ins, asmstr, pattern> { field bits<48> Inst; + field bits<48> SoftFail = 0; bits<16> BD1; bits<16> I2; @@ -318,6 +333,7 @@ class InstSIL op, dag outs, dag ins, string asmstr, list pattern> class InstSIY op, dag outs, dag ins, string asmstr, list pattern> : InstSystemZ<6, outs, ins, asmstr, pattern> { field bits<48> Inst; + field bits<48> SoftFail = 0; bits<24> BD1; bits<8> I2; diff --git a/lib/Target/SystemZ/SystemZOperands.td b/lib/Target/SystemZ/SystemZOperands.td index 770b7f5eecf..66d9c5fceba 100644 --- a/lib/Target/SystemZ/SystemZOperands.td +++ b/lib/Target/SystemZ/SystemZOperands.td @@ -24,6 +24,7 @@ class ImmediateAsmOperand class Immediate : PatLeaf<(vt imm), pred, xform>, Operand { let PrintMethod = "print"##asmop##"Operand"; + let DecoderMethod = "decode"##asmop##"Operand"; let ParserMatchClass = !cast(asmop); } @@ -37,6 +38,7 @@ class PCRelAsmOperand : ImmediateAsmOperand<"PCRel"##size> { // Constructs an operand for a PC-relative address with address type VT. // ASMOP is the associated asm operand. class PCRelOperand : Operand { + let PrintMethod = "printPCRelOperand"; let ParserMatchClass = asmop; } @@ -59,8 +61,9 @@ class AddressAsmOperand } // Constructs both a DAG pattern and instruction operand for an addressing mode. -// The mode is selected by custom code in select() -// and encoded by custom code in getEncoding(). +// The mode is selected by custom code in select(), +// encoded by custom code in getEncoding() and decoded +// by custom code in decodeDispOperand(). // The address registers have BITSIZE bits and displacements have // DISPSIZE bits. NUMOPS is the number of operands that make up an // address and OPERANDS lists the types of those operands using (ops ...). @@ -74,6 +77,7 @@ class AddressingMode("i"##bitsize)> { let PrintMethod = "print"##format##"Operand"; let EncoderMethod = "get"##format##dispsize##"Encoding"; + let DecoderMethod = "decode"##format##bitsize##"Disp"##dispsize##"Operand"; let MIOperandInfo = operands; let ParserMatchClass = !cast(format##bitsize##"Disp"##dispsize); @@ -359,15 +363,18 @@ def PCRel32 : PCRelAsmOperand<"32">; // and multiplied by 2. def brtarget16 : PCRelOperand { let EncoderMethod = "getPC16DBLEncoding"; + let DecoderMethod = "decodePC16DBLOperand"; } def brtarget32 : PCRelOperand { let EncoderMethod = "getPC32DBLEncoding"; + let DecoderMethod = "decodePC32DBLOperand"; } // A PC-relative offset of a global value. The offset is sign-extended // and multiplied by 2. def pcrel32 : PCRelAddress { let EncoderMethod = "getPC32DBLEncoding"; + let DecoderMethod = "decodePC32DBLOperand"; } // A PC-relative offset of a global value when the value is used as a @@ -375,10 +382,12 @@ def pcrel32 : PCRelAddress { def pcrel16call : PCRelAddress { let PrintMethod = "printCallOperand"; let EncoderMethod = "getPLT16DBLEncoding"; + let DecoderMethod = "decodePC16DBLOperand"; } def pcrel32call : PCRelAddress { let PrintMethod = "printCallOperand"; let EncoderMethod = "getPLT32DBLEncoding"; + let DecoderMethod = "decodePC32DBLOperand"; } //===----------------------------------------------------------------------===// diff --git a/test/MC/Disassembler/SystemZ/insn-a.txt b/test/MC/Disassembler/SystemZ/insn-a.txt new file mode 100644 index 00000000000..5ce2021bbb3 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-a.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: a %r0, 0 +0x5a 0x00 0x00 0x00 + +# CHECK: a %r0, 4095 +0x5a 0x00 0x0f 0xff + +# CHECK: a %r0, 0(%r1) +0x5a 0x00 0x10 0x00 + +# CHECK: a %r0, 0(%r15) +0x5a 0x00 0xf0 0x00 + +# CHECK: a %r0, 4095(%r1,%r15) +0x5a 0x01 0xff 0xff + +# CHECK: a %r0, 4095(%r15,%r1) +0x5a 0x0f 0x1f 0xff + +# CHECK: a %r15, 0 +0x5a 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-adb.txt b/test/MC/Disassembler/SystemZ/insn-adb.txt new file mode 100644 index 00000000000..3cdf6ef21d9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-adb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: adb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x1a + +# CHECK: adb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x1a + +# CHECK: adb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x1a + +# CHECK: adb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x1a + +# CHECK: adb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x1a + +# CHECK: adb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x1a + +# CHECK: adb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x1a diff --git a/test/MC/Disassembler/SystemZ/insn-adbr.txt b/test/MC/Disassembler/SystemZ/insn-adbr.txt new file mode 100644 index 00000000000..6c5f18b1387 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-adbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: adbr %f0, %f0 +0xb3 0x1a 0x00 0x00 + +# CHECK: adbr %f0, %f15 +0xb3 0x1a 0x00 0x0f + +# CHECK: adbr %f7, %f8 +0xb3 0x1a 0x00 0x78 + +# CHECK: adbr %f15, %f0 +0xb3 0x1a 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-aeb.txt b/test/MC/Disassembler/SystemZ/insn-aeb.txt new file mode 100644 index 00000000000..5d28f898356 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-aeb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: aeb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x0a + +# CHECK: aeb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x0a + +# CHECK: aeb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x0a + +# CHECK: aeb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x0a + +# CHECK: aeb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x0a + +# CHECK: aeb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x0a + +# CHECK: aeb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x0a diff --git a/test/MC/Disassembler/SystemZ/insn-aebr.txt b/test/MC/Disassembler/SystemZ/insn-aebr.txt new file mode 100644 index 00000000000..e4d00f700db --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-aebr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: aebr %f0, %f0 +0xb3 0x0a 0x00 0x00 + +# CHECK: aebr %f0, %f15 +0xb3 0x0a 0x00 0x0f + +# CHECK: aebr %f7, %f8 +0xb3 0x0a 0x00 0x78 + +# CHECK: aebr %f15, %f0 +0xb3 0x0a 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-afi.txt b/test/MC/Disassembler/SystemZ/insn-afi.txt new file mode 100644 index 00000000000..c679a0d2057 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-afi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: afi %r0, -2147483648 +0xc2 0x09 0x80 0x00 0x00 0x00 + +# CHECK: afi %r0, -1 +0xc2 0x09 0xff 0xff 0xff 0xff + +# CHECK: afi %r0, 0 +0xc2 0x09 0x00 0x00 0x00 0x00 + +# CHECK: afi %r0, 1 +0xc2 0x09 0x00 0x00 0x00 0x01 + +# CHECK: afi %r0, 2147483647 +0xc2 0x09 0x7f 0xff 0xff 0xff + +# CHECK: afi %r15, 0 +0xc2 0xf9 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-ag.txt b/test/MC/Disassembler/SystemZ/insn-ag.txt new file mode 100644 index 00000000000..62242fb365b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ag.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ag %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x08 + +# CHECK: ag %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x08 + +# CHECK: ag %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x08 + +# CHECK: ag %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x08 + +# CHECK: ag %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x08 + +# CHECK: ag %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x08 + +# CHECK: ag %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x08 + +# CHECK: ag %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x08 + +# CHECK: ag %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x08 + +# CHECK: ag %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x08 diff --git a/test/MC/Disassembler/SystemZ/insn-agf.txt b/test/MC/Disassembler/SystemZ/insn-agf.txt new file mode 100644 index 00000000000..95eb31351e2 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-agf.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: agf %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x18 + +# CHECK: agf %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x18 + +# CHECK: agf %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x18 + +# CHECK: agf %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x18 + +# CHECK: agf %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x18 + +# CHECK: agf %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x18 + +# CHECK: agf %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x18 + +# CHECK: agf %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x18 + +# CHECK: agf %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x18 + +# CHECK: agf %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x18 diff --git a/test/MC/Disassembler/SystemZ/insn-agfi.txt b/test/MC/Disassembler/SystemZ/insn-agfi.txt new file mode 100644 index 00000000000..3ff21b4e81b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-agfi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: agfi %r0, -2147483648 +0xc2 0x08 0x80 0x00 0x00 0x00 + +# CHECK: agfi %r0, -1 +0xc2 0x08 0xff 0xff 0xff 0xff + +# CHECK: agfi %r0, 0 +0xc2 0x08 0x00 0x00 0x00 0x00 + +# CHECK: agfi %r0, 1 +0xc2 0x08 0x00 0x00 0x00 0x01 + +# CHECK: agfi %r0, 2147483647 +0xc2 0x08 0x7f 0xff 0xff 0xff + +# CHECK: agfi %r15, 0 +0xc2 0xf8 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-agfr.txt b/test/MC/Disassembler/SystemZ/insn-agfr.txt new file mode 100644 index 00000000000..13e40cda4de --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-agfr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: agfr %r0, %r0 +0xb9 0x18 0x00 0x00 + +# CHECK: agfr %r0, %r15 +0xb9 0x18 0x00 0x0f + +# CHECK: agfr %r15, %r0 +0xb9 0x18 0x00 0xf0 + +# CHECK: agfr %r7, %r8 +0xb9 0x18 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-aghi.txt b/test/MC/Disassembler/SystemZ/insn-aghi.txt new file mode 100644 index 00000000000..d7fe2726bea --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-aghi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: aghi %r0, -32768 +0xa7 0x0b 0x80 0x00 + +# CHECK: aghi %r0, -1 +0xa7 0x0b 0xff 0xff + +# CHECK: aghi %r0, 0 +0xa7 0x0b 0x00 0x00 + +# CHECK: aghi %r0, 1 +0xa7 0x0b 0x00 0x01 + +# CHECK: aghi %r0, 32767 +0xa7 0x0b 0x7f 0xff + +# CHECK: aghi %r15, 0 +0xa7 0xfb 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-agr.txt b/test/MC/Disassembler/SystemZ/insn-agr.txt new file mode 100644 index 00000000000..4061f3a303c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-agr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: agr %r0, %r0 +0xb9 0x08 0x00 0x00 + +# CHECK: agr %r0, %r15 +0xb9 0x08 0x00 0x0f + +# CHECK: agr %r15, %r0 +0xb9 0x08 0x00 0xf0 + +# CHECK: agr %r7, %r8 +0xb9 0x08 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-agsi.txt b/test/MC/Disassembler/SystemZ/insn-agsi.txt new file mode 100644 index 00000000000..448306f42e6 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-agsi.txt @@ -0,0 +1,39 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: agsi -524288, 0 +0xeb 0x00 0x00 0x00 0x80 0x7a + +# CHECK: agsi -1, 0 +0xeb 0x00 0x0f 0xff 0xff 0x7a + +# CHECK: agsi 0, 0 +0xeb 0x00 0x00 0x00 0x00 0x7a + +# CHECK: agsi 1, 0 +0xeb 0x00 0x00 0x01 0x00 0x7a + +# CHECK: agsi 524287, 0 +0xeb 0x00 0x0f 0xff 0x7f 0x7a + +# CHECK: agsi 0, -128 +0xeb 0x80 0x00 0x00 0x00 0x7a + +# CHECK: agsi 0, -1 +0xeb 0xff 0x00 0x00 0x00 0x7a + +# CHECK: agsi 0, 1 +0xeb 0x01 0x00 0x00 0x00 0x7a + +# CHECK: agsi 0, 127 +0xeb 0x7f 0x00 0x00 0x00 0x7a + +# CHECK: agsi 0(%r1), 42 +0xeb 0x2a 0x10 0x00 0x00 0x7a + +# CHECK: agsi 0(%r15), 42 +0xeb 0x2a 0xf0 0x00 0x00 0x7a + +# CHECK: agsi 524287(%r1), 42 +0xeb 0x2a 0x1f 0xff 0x7f 0x7a + +# CHECK: agsi 524287(%r15), 42 +0xeb 0x2a 0xff 0xff 0x7f 0x7a diff --git a/test/MC/Disassembler/SystemZ/insn-ah.txt b/test/MC/Disassembler/SystemZ/insn-ah.txt new file mode 100644 index 00000000000..c05d17790ab --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ah.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ah %r0, 0 +0x4a 0x00 0x00 0x00 + +# CHECK: ah %r0, 4095 +0x4a 0x00 0x0f 0xff + +# CHECK: ah %r0, 0(%r1) +0x4a 0x00 0x10 0x00 + +# CHECK: ah %r0, 0(%r15) +0x4a 0x00 0xf0 0x00 + +# CHECK: ah %r0, 4095(%r1,%r15) +0x4a 0x01 0xff 0xff + +# CHECK: ah %r0, 4095(%r15,%r1) +0x4a 0x0f 0x1f 0xff + +# CHECK: ah %r15, 0 +0x4a 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-ahi.txt b/test/MC/Disassembler/SystemZ/insn-ahi.txt new file mode 100644 index 00000000000..fb16c7232b0 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ahi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ahi %r0, -32768 +0xa7 0x0a 0x80 0x00 + +# CHECK: ahi %r0, -1 +0xa7 0x0a 0xff 0xff + +# CHECK: ahi %r0, 0 +0xa7 0x0a 0x00 0x00 + +# CHECK: ahi %r0, 1 +0xa7 0x0a 0x00 0x01 + +# CHECK: ahi %r0, 32767 +0xa7 0x0a 0x7f 0xff + +# CHECK: ahi %r15, 0 +0xa7 0xfa 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-ahy.txt b/test/MC/Disassembler/SystemZ/insn-ahy.txt new file mode 100644 index 00000000000..511c01b4f8b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ahy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ahy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x7a + +# CHECK: ahy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x7a + +# CHECK: ahy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x7a + +# CHECK: ahy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x7a + +# CHECK: ahy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x7a + +# CHECK: ahy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x7a + +# CHECK: ahy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x7a + +# CHECK: ahy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x7a + +# CHECK: ahy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x7a + +# CHECK: ahy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x7a diff --git a/test/MC/Disassembler/SystemZ/insn-al.txt b/test/MC/Disassembler/SystemZ/insn-al.txt new file mode 100644 index 00000000000..18f4e6f9940 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-al.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: al %r0, 0 +0x5e 0x00 0x00 0x00 + +# CHECK: al %r0, 4095 +0x5e 0x00 0x0f 0xff + +# CHECK: al %r0, 0(%r1) +0x5e 0x00 0x10 0x00 + +# CHECK: al %r0, 0(%r15) +0x5e 0x00 0xf0 0x00 + +# CHECK: al %r0, 4095(%r1,%r15) +0x5e 0x01 0xff 0xff + +# CHECK: al %r0, 4095(%r15,%r1) +0x5e 0x0f 0x1f 0xff + +# CHECK: al %r15, 0 +0x5e 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-alc.txt b/test/MC/Disassembler/SystemZ/insn-alc.txt new file mode 100644 index 00000000000..de1ee015bf4 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-alc.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: alc %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x98 + +# CHECK: alc %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x98 + +# CHECK: alc %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x98 + +# CHECK: alc %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x98 + +# CHECK: alc %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x98 + +# CHECK: alc %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x98 + +# CHECK: alc %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x98 + +# CHECK: alc %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x98 + +# CHECK: alc %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x98 + +# CHECK: alc %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x98 diff --git a/test/MC/Disassembler/SystemZ/insn-alcg.txt b/test/MC/Disassembler/SystemZ/insn-alcg.txt new file mode 100644 index 00000000000..db450f7dba4 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-alcg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: alcg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x88 + +# CHECK: alcg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x88 + +# CHECK: alcg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x88 + +# CHECK: alcg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x88 + +# CHECK: alcg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x88 + +# CHECK: alcg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x88 + +# CHECK: alcg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x88 + +# CHECK: alcg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x88 + +# CHECK: alcg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x88 + +# CHECK: alcg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x88 diff --git a/test/MC/Disassembler/SystemZ/insn-alcgr.txt b/test/MC/Disassembler/SystemZ/insn-alcgr.txt new file mode 100644 index 00000000000..5a7db135486 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-alcgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: alcgr %r0, %r0 +0xb9 0x88 0x00 0x00 + +# CHECK: alcgr %r0, %r15 +0xb9 0x88 0x00 0x0f + +# CHECK: alcgr %r15, %r0 +0xb9 0x88 0x00 0xf0 + +# CHECK: alcgr %r7, %r8 +0xb9 0x88 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-alcr.txt b/test/MC/Disassembler/SystemZ/insn-alcr.txt new file mode 100644 index 00000000000..3f108797d71 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-alcr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: alcr %r0, %r0 +0xb9 0x98 0x00 0x00 + +# CHECK: alcr %r0, %r15 +0xb9 0x98 0x00 0x0f + +# CHECK: alcr %r15, %r0 +0xb9 0x98 0x00 0xf0 + +# CHECK: alcr %r7, %r8 +0xb9 0x98 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-alfi.txt b/test/MC/Disassembler/SystemZ/insn-alfi.txt new file mode 100644 index 00000000000..29aec986355 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-alfi.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: alfi %r0, 0 +0xc2 0x0b 0x00 0x00 0x00 0x00 + +# CHECK: alfi %r0, 4294967295 +0xc2 0x0b 0xff 0xff 0xff 0xff + +# CHECK: alfi %r15, 0 +0xc2 0xfb 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-alg.txt b/test/MC/Disassembler/SystemZ/insn-alg.txt new file mode 100644 index 00000000000..e02e8924297 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-alg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: alg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x0a + +# CHECK: alg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x0a + +# CHECK: alg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x0a + +# CHECK: alg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x0a + +# CHECK: alg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x0a + +# CHECK: alg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x0a + +# CHECK: alg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x0a + +# CHECK: alg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x0a + +# CHECK: alg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x0a + +# CHECK: alg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x0a diff --git a/test/MC/Disassembler/SystemZ/insn-algf.txt b/test/MC/Disassembler/SystemZ/insn-algf.txt new file mode 100644 index 00000000000..748df29ca5e --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-algf.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: algf %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x1a + +# CHECK: algf %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x1a + +# CHECK: algf %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x1a + +# CHECK: algf %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x1a + +# CHECK: algf %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x1a + +# CHECK: algf %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x1a + +# CHECK: algf %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x1a + +# CHECK: algf %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x1a + +# CHECK: algf %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x1a + +# CHECK: algf %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x1a diff --git a/test/MC/Disassembler/SystemZ/insn-algfi.txt b/test/MC/Disassembler/SystemZ/insn-algfi.txt new file mode 100644 index 00000000000..0a1d2f2e2e9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-algfi.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: algfi %r0, 0 +0xc2 0x0a 0x00 0x00 0x00 0x00 + +# CHECK: algfi %r0, 4294967295 +0xc2 0x0a 0xff 0xff 0xff 0xff + +# CHECK: algfi %r15, 0 +0xc2 0xfa 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-algfr.txt b/test/MC/Disassembler/SystemZ/insn-algfr.txt new file mode 100644 index 00000000000..47cddbe13b4 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-algfr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: algfr %r0, %r0 +0xb9 0x1a 0x00 0x00 + +# CHECK: algfr %r0, %r15 +0xb9 0x1a 0x00 0x0f + +# CHECK: algfr %r15, %r0 +0xb9 0x1a 0x00 0xf0 + +# CHECK: algfr %r7, %r8 +0xb9 0x1a 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-algr.txt b/test/MC/Disassembler/SystemZ/insn-algr.txt new file mode 100644 index 00000000000..b5847d2d593 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-algr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: algr %r0, %r0 +0xb9 0x0a 0x00 0x00 + +# CHECK: algr %r0, %r15 +0xb9 0x0a 0x00 0x0f + +# CHECK: algr %r15, %r0 +0xb9 0x0a 0x00 0xf0 + +# CHECK: algr %r7, %r8 +0xb9 0x0a 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-alr.txt b/test/MC/Disassembler/SystemZ/insn-alr.txt new file mode 100644 index 00000000000..7b46ce3283e --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-alr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: alr %r0, %r0 +0x1e 0x00 + +# CHECK: alr %r0, %r15 +0x1e 0x0f + +# CHECK: alr %r15, %r0 +0x1e 0xf0 + +# CHECK: alr %r7, %r8 +0x1e 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-aly.txt b/test/MC/Disassembler/SystemZ/insn-aly.txt new file mode 100644 index 00000000000..4ef5cc2614f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-aly.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: aly %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x5e + +# CHECK: aly %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x5e + +# CHECK: aly %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x5e + +# CHECK: aly %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x5e + +# CHECK: aly %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x5e + +# CHECK: aly %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x5e + +# CHECK: aly %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x5e + +# CHECK: aly %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x5e + +# CHECK: aly %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x5e + +# CHECK: aly %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x5e diff --git a/test/MC/Disassembler/SystemZ/insn-ar.txt b/test/MC/Disassembler/SystemZ/insn-ar.txt new file mode 100644 index 00000000000..9443590e093 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ar.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ar %r0, %r0 +0x1a 0x00 + +# CHECK: ar %r0, %r15 +0x1a 0x0f + +# CHECK: ar %r15, %r0 +0x1a 0xf0 + +# CHECK: ar %r7, %r8 +0x1a 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-asi.txt b/test/MC/Disassembler/SystemZ/insn-asi.txt new file mode 100644 index 00000000000..af9b7a6144c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-asi.txt @@ -0,0 +1,39 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: asi -524288, 0 +0xeb 0x00 0x00 0x00 0x80 0x6a + +# CHECK: asi -1, 0 +0xeb 0x00 0x0f 0xff 0xff 0x6a + +# CHECK: asi 0, 0 +0xeb 0x00 0x00 0x00 0x00 0x6a + +# CHECK: asi 1, 0 +0xeb 0x00 0x00 0x01 0x00 0x6a + +# CHECK: asi 524287, 0 +0xeb 0x00 0x0f 0xff 0x7f 0x6a + +# CHECK: asi 0, -128 +0xeb 0x80 0x00 0x00 0x00 0x6a + +# CHECK: asi 0, -1 +0xeb 0xff 0x00 0x00 0x00 0x6a + +# CHECK: asi 0, 1 +0xeb 0x01 0x00 0x00 0x00 0x6a + +# CHECK: asi 0, 127 +0xeb 0x7f 0x00 0x00 0x00 0x6a + +# CHECK: asi 0(%r1), 42 +0xeb 0x2a 0x10 0x00 0x00 0x6a + +# CHECK: asi 0(%r15), 42 +0xeb 0x2a 0xf0 0x00 0x00 0x6a + +# CHECK: asi 524287(%r1), 42 +0xeb 0x2a 0x1f 0xff 0x7f 0x6a + +# CHECK: asi 524287(%r15), 42 +0xeb 0x2a 0xff 0xff 0x7f 0x6a diff --git a/test/MC/Disassembler/SystemZ/insn-axbr.txt b/test/MC/Disassembler/SystemZ/insn-axbr.txt new file mode 100644 index 00000000000..e78ff8e4041 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-axbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: axbr %f0, %f0 +0xb3 0x4a 0x00 0x00 + +# CHECK: axbr %f0, %f13 +0xb3 0x4a 0x00 0x0d + +# CHECK: axbr %f8, %f8 +0xb3 0x4a 0x00 0x88 + +# CHECK: axbr %f13, %f0 +0xb3 0x4a 0x00 0xd0 diff --git a/test/MC/Disassembler/SystemZ/insn-ay.txt b/test/MC/Disassembler/SystemZ/insn-ay.txt new file mode 100644 index 00000000000..bd81f8cafe6 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ay.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ay %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x5a + +# CHECK: ay %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x5a + +# CHECK: ay %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x5a + +# CHECK: ay %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x5a + +# CHECK: ay %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x5a + +# CHECK: ay %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x5a + +# CHECK: ay %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x5a + +# CHECK: ay %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x5a + +# CHECK: ay %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x5a + +# CHECK: ay %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x5a diff --git a/test/MC/Disassembler/SystemZ/insn-basr.txt b/test/MC/Disassembler/SystemZ/insn-basr.txt new file mode 100644 index 00000000000..6540bf4b250 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-basr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: basr %r0, %r1 +0x0d 0x01 + +# CHECK: basr %r0, %r15 +0x0d 0x0f + +# CHECK: basr %r14, %r9 +0x0d 0xe9 + +# CHECK: basr %r15, %r1 +0x0d 0xf1 diff --git a/test/MC/Disassembler/SystemZ/insn-br.txt b/test/MC/Disassembler/SystemZ/insn-br.txt new file mode 100644 index 00000000000..7643a0e8fe9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-br.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: br %r1 +0x07 0xf1 + +# CHECK: br %r14 +0x07 0xfe + +# CHECK: br %r15 +0x07 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-bras.txt b/test/MC/Disassembler/SystemZ/insn-bras.txt new file mode 100644 index 00000000000..c02f1d010a4 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-bras.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: bras %r0, 0x0 +0xa7 0x05 0x00 0x00 + +# CHECK: bras %r14, 0x4 +0xa7 0xe5 0x00 0x00 + +# CHECK: bras %r15, 0x8 +0xa7 0xf5 0x00 0x00 + +# CHECK: bras %r0, 0xa +0xa7 0x05 0xff 0xff + +# CHECK: bras %r14, 0xffffffffffff0010 +0xa7 0xe5 0x80 0x00 + +# CHECK: bras %r15, 0x10012 +0xa7 0xf5 0x7f 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-brasl.txt b/test/MC/Disassembler/SystemZ/insn-brasl.txt new file mode 100644 index 00000000000..73718d051cf --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-brasl.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: brasl %r0, 0x0 +0xc0 0x05 0x00 0x00 0x00 0x00 + +# CHECK: brasl %r14, 0x6 +0xc0 0xe5 0x00 0x00 0x00 0x00 + +# CHECK: brasl %r15, 0xc +0xc0 0xf5 0x00 0x00 0x00 0x00 + +# CHECK: brasl %r0, 0x10 +0xc0 0x05 0xff 0xff 0xff 0xff + +# CHECK: brasl %r14, 0xffffffff00000018 +0xc0 0xe5 0x80 0x00 0x00 0x00 + +# CHECK: brasl %r15, 0x10000001c +0xc0 0xf5 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-brc.txt b/test/MC/Disassembler/SystemZ/insn-brc.txt new file mode 100644 index 00000000000..c23e878b179 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-brc.txt @@ -0,0 +1,66 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: brc 0, 0x0 +0xa7 0x04 0x00 0x00 + +# CHECK: jo 0x4 +0xa7 0x14 0x00 0x00 + +# CHECK: jh 0x8 +0xa7 0x24 0x00 0x00 + +# CHECK: jnle 0xc +0xa7 0x34 0x00 0x00 + +# CHECK: jl 0x10 +0xa7 0x44 0x00 0x00 + +# CHECK: jnhe 0x14 +0xa7 0x54 0x00 0x00 + +# CHECK: jlh 0x18 +0xa7 0x64 0x00 0x00 + +# CHECK: jne 0x1c +0xa7 0x74 0x00 0x00 + +# CHECK: je 0x20 +0xa7 0x84 0x00 0x00 + +# CHECK: jnlh 0x24 +0xa7 0x94 0x00 0x00 + +# CHECK: jhe 0x28 +0xa7 0xa4 0x00 0x00 + +# CHECK: jnl 0x2c +0xa7 0xb4 0x00 0x00 + +# CHECK: jle 0x30 +0xa7 0xc4 0x00 0x00 + +# CHECK: jnh 0x34 +0xa7 0xd4 0x00 0x00 + +# CHECK: jno 0x38 +0xa7 0xe4 0x00 0x00 + +# CHECK: j 0x3c +0xa7 0xf4 0x00 0x00 + +# CHECK: brc 0, 0x3e +0xa7 0x04 0xff 0xff + +# CHECK: brc 0, 0xffffffffffff0044 +0xa7 0x04 0x80 0x00 + +# CHECK: brc 0, 0x10046 +0xa7 0x04 0x7f 0xff + +# CHECK: j 0x4a +0xa7 0xf4 0xff 0xff + +# CHECK: j 0xffffffffffff0050 +0xa7 0xf4 0x80 0x00 + +# CHECK: j 0x10052 +0xa7 0xf4 0x7f 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-brcl.txt b/test/MC/Disassembler/SystemZ/insn-brcl.txt new file mode 100644 index 00000000000..e3a6cb01e9d --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-brcl.txt @@ -0,0 +1,66 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: brcl 0, 0x0 +0xc0 0x04 0x00 0x00 0x00 0x00 + +# CHECK: jgo 0x6 +0xc0 0x14 0x00 0x00 0x00 0x00 + +# CHECK: jgh 0xc +0xc0 0x24 0x00 0x00 0x00 0x00 + +# CHECK: jgnle 0x12 +0xc0 0x34 0x00 0x00 0x00 0x00 + +# CHECK: jgl 0x18 +0xc0 0x44 0x00 0x00 0x00 0x00 + +# CHECK: jgnhe 0x1e +0xc0 0x54 0x00 0x00 0x00 0x00 + +# CHECK: jglh 0x24 +0xc0 0x64 0x00 0x00 0x00 0x00 + +# CHECK: jgne 0x2a +0xc0 0x74 0x00 0x00 0x00 0x00 + +# CHECK: jge 0x30 +0xc0 0x84 0x00 0x00 0x00 0x00 + +# CHECK: jgnlh 0x36 +0xc0 0x94 0x00 0x00 0x00 0x00 + +# CHECK: jghe 0x3c +0xc0 0xa4 0x00 0x00 0x00 0x00 + +# CHECK: jgnl 0x42 +0xc0 0xb4 0x00 0x00 0x00 0x00 + +# CHECK: jgle 0x48 +0xc0 0xc4 0x00 0x00 0x00 0x00 + +# CHECK: jgnh 0x4e +0xc0 0xd4 0x00 0x00 0x00 0x00 + +# CHECK: jgno 0x54 +0xc0 0xe4 0x00 0x00 0x00 0x00 + +# CHECK: jg 0x5a +0xc0 0xf4 0x00 0x00 0x00 0x00 + +# CHECK: brcl 0, 0x5e +0xc0 0x04 0xff 0xff 0xff 0xff + +# CHECK: brcl 0, 0xffffffff00000066 +0xc0 0x04 0x80 0x00 0x00 0x00 + +# CHECK: brcl 0, 0x10000006a +0xc0 0x04 0x7f 0xff 0xff 0xff + +# CHECK: jg 0x70 +0xc0 0xf4 0xff 0xff 0xff 0xff + +# CHECK: jg 0xffffffff00000078 +0xc0 0xf4 0x80 0x00 0x00 0x00 + +# CHECK: jg 0x10000007c +0xc0 0xf4 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-c.txt b/test/MC/Disassembler/SystemZ/insn-c.txt new file mode 100644 index 00000000000..1dbd6366abe --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-c.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: c %r0, 0 +0x59 0x00 0x00 0x00 + +# CHECK: c %r0, 4095 +0x59 0x00 0x0f 0xff + +# CHECK: c %r0, 0(%r1) +0x59 0x00 0x10 0x00 + +# CHECK: c %r0, 0(%r15) +0x59 0x00 0xf0 0x00 + +# CHECK: c %r0, 4095(%r1,%r15) +0x59 0x01 0xff 0xff + +# CHECK: c %r0, 4095(%r15,%r1) +0x59 0x0f 0x1f 0xff + +# CHECK: c %r15, 0 +0x59 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-cdb.txt b/test/MC/Disassembler/SystemZ/insn-cdb.txt new file mode 100644 index 00000000000..fcccf34a6a6 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cdb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cdb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x19 + +# CHECK: cdb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x19 + +# CHECK: cdb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x19 + +# CHECK: cdb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x19 + +# CHECK: cdb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x19 + +# CHECK: cdb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x19 + +# CHECK: cdb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x19 diff --git a/test/MC/Disassembler/SystemZ/insn-cdbr.txt b/test/MC/Disassembler/SystemZ/insn-cdbr.txt new file mode 100644 index 00000000000..579c6f73f1c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cdbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cdbr %f0, %f0 +0xb3 0x19 0x00 0x00 + +# CHECK: cdbr %f0, %f15 +0xb3 0x19 0x00 0x0f + +# CHECK: cdbr %f7, %f8 +0xb3 0x19 0x00 0x78 + +# CHECK: cdbr %f15, %f0 +0xb3 0x19 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-cdfbr.txt b/test/MC/Disassembler/SystemZ/insn-cdfbr.txt new file mode 100644 index 00000000000..04004ed6e3d --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cdfbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cdfbr %f0, %r0 +0xb3 0x95 0x00 0x00 + +# CHECK: cdfbr %f0, %r15 +0xb3 0x95 0x00 0x0f + +# CHECK: cdfbr %f15, %r0 +0xb3 0x95 0x00 0xf0 + +# CHECK: cdfbr %f7, %r8 +0xb3 0x95 0x00 0x78 + +# CHECK: cdfbr %f15, %r15 +0xb3 0x95 0x00 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-cdgbr.txt b/test/MC/Disassembler/SystemZ/insn-cdgbr.txt new file mode 100644 index 00000000000..8105eb2f990 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cdgbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cdgbr %f0, %r0 +0xb3 0xa5 0x00 0x00 + +# CHECK: cdgbr %f0, %r15 +0xb3 0xa5 0x00 0x0f + +# CHECK: cdgbr %f15, %r0 +0xb3 0xa5 0x00 0xf0 + +# CHECK: cdgbr %f7, %r8 +0xb3 0xa5 0x00 0x78 + +# CHECK: cdgbr %f15, %r15 +0xb3 0xa5 0x00 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-ceb.txt b/test/MC/Disassembler/SystemZ/insn-ceb.txt new file mode 100644 index 00000000000..51424e83197 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ceb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ceb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x09 + +# CHECK: ceb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x09 + +# CHECK: ceb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x09 + +# CHECK: ceb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x09 + +# CHECK: ceb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x09 + +# CHECK: ceb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x09 + +# CHECK: ceb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x09 diff --git a/test/MC/Disassembler/SystemZ/insn-cebr.txt b/test/MC/Disassembler/SystemZ/insn-cebr.txt new file mode 100644 index 00000000000..7d2e380fcd5 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cebr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cebr %f0, %f0 +0xb3 0x09 0x00 0x00 + +# CHECK: cebr %f0, %f15 +0xb3 0x09 0x00 0x0f + +# CHECK: cebr %f7, %f8 +0xb3 0x09 0x00 0x78 + +# CHECK: cebr %f15, %f0 +0xb3 0x09 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-cefbr.txt b/test/MC/Disassembler/SystemZ/insn-cefbr.txt new file mode 100644 index 00000000000..edc1aa9a173 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cefbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cefbr %f0, %r0 +0xb3 0x94 0x00 0x00 + +# CHECK: cefbr %f0, %r15 +0xb3 0x94 0x00 0x0f + +# CHECK: cefbr %f15, %r0 +0xb3 0x94 0x00 0xf0 + +# CHECK: cefbr %f7, %r8 +0xb3 0x94 0x00 0x78 + +# CHECK: cefbr %f15, %r15 +0xb3 0x94 0x00 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-cegbr.txt b/test/MC/Disassembler/SystemZ/insn-cegbr.txt new file mode 100644 index 00000000000..4cd4b5b6b64 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cegbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cegbr %f0, %r0 +0xb3 0xa4 0x00 0x00 + +# CHECK: cegbr %f0, %r15 +0xb3 0xa4 0x00 0x0f + +# CHECK: cegbr %f15, %r0 +0xb3 0xa4 0x00 0xf0 + +# CHECK: cegbr %f7, %r8 +0xb3 0xa4 0x00 0x78 + +# CHECK: cegbr %f15, %r15 +0xb3 0xa4 0x00 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-cfdbr.txt b/test/MC/Disassembler/SystemZ/insn-cfdbr.txt new file mode 100644 index 00000000000..feceb689ed1 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cfdbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cfdbr %r0, 0, %f0 +0xb3 0x99 0x00 0x00 + +# CHECK: cfdbr %r0, 0, %f15 +0xb3 0x99 0x00 0x0f + +# CHECK: cfdbr %r0, 15, %f0 +0xb3 0x99 0xf0 0x00 + +# CHECK: cfdbr %r4, 5, %f6 +0xb3 0x99 0x50 0x46 + +# CHECK: cfdbr %r15, 0, %f0 +0xb3 0x99 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-cfebr.txt b/test/MC/Disassembler/SystemZ/insn-cfebr.txt new file mode 100644 index 00000000000..07f7ad2d425 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cfebr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cfebr %r0, 0, %f0 +0xb3 0x98 0x00 0x00 + +# CHECK: cfebr %r0, 0, %f15 +0xb3 0x98 0x00 0x0f + +# CHECK: cfebr %r0, 15, %f0 +0xb3 0x98 0xf0 0x00 + +# CHECK: cfebr %r4, 5, %f6 +0xb3 0x98 0x50 0x46 + +# CHECK: cfebr %r15, 0, %f0 +0xb3 0x98 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-cfi.txt b/test/MC/Disassembler/SystemZ/insn-cfi.txt new file mode 100644 index 00000000000..ffc38b5946a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cfi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cfi %r0, -2147483648 +0xc2 0x0d 0x80 0x00 0x00 0x00 + +# CHECK: cfi %r0, -1 +0xc2 0x0d 0xff 0xff 0xff 0xff + +# CHECK: cfi %r0, 0 +0xc2 0x0d 0x00 0x00 0x00 0x00 + +# CHECK: cfi %r0, 1 +0xc2 0x0d 0x00 0x00 0x00 0x01 + +# CHECK: cfi %r0, 2147483647 +0xc2 0x0d 0x7f 0xff 0xff 0xff + +# CHECK: cfi %r15, 0 +0xc2 0xfd 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-cfxbr.txt b/test/MC/Disassembler/SystemZ/insn-cfxbr.txt new file mode 100644 index 00000000000..5202f59f446 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cfxbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cfxbr %r0, 0, %f0 +0xb3 0x9a 0x00 0x00 + +# CHECK: cfxbr %r0, 0, %f13 +0xb3 0x9a 0x00 0x0d + +# CHECK: cfxbr %r0, 15, %f0 +0xb3 0x9a 0xf0 0x00 + +# CHECK: cfxbr %r4, 5, %f8 +0xb3 0x9a 0x50 0x48 + +# CHECK: cfxbr %r15, 0, %f0 +0xb3 0x9a 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-cg.txt b/test/MC/Disassembler/SystemZ/insn-cg.txt new file mode 100644 index 00000000000..f314902f17a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x20 + +# CHECK: cg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x20 + +# CHECK: cg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x20 + +# CHECK: cg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x20 + +# CHECK: cg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x20 + +# CHECK: cg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x20 + +# CHECK: cg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x20 + +# CHECK: cg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x20 + +# CHECK: cg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x20 + +# CHECK: cg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x20 diff --git a/test/MC/Disassembler/SystemZ/insn-cgdbr.txt b/test/MC/Disassembler/SystemZ/insn-cgdbr.txt new file mode 100644 index 00000000000..16a771ab27d --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cgdbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cgdbr %r0, 0, %f0 +0xb3 0xa9 0x00 0x00 + +# CHECK: cgdbr %r0, 0, %f15 +0xb3 0xa9 0x00 0x0f + +# CHECK: cgdbr %r0, 15, %f0 +0xb3 0xa9 0xf0 0x00 + +# CHECK: cgdbr %r4, 5, %f6 +0xb3 0xa9 0x50 0x46 + +# CHECK: cgdbr %r15, 0, %f0 +0xb3 0xa9 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-cgebr.txt b/test/MC/Disassembler/SystemZ/insn-cgebr.txt new file mode 100644 index 00000000000..2f224cca364 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cgebr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cgebr %r0, 0, %f0 +0xb3 0xa8 0x00 0x00 + +# CHECK: cgebr %r0, 0, %f15 +0xb3 0xa8 0x00 0x0f + +# CHECK: cgebr %r0, 15, %f0 +0xb3 0xa8 0xf0 0x00 + +# CHECK: cgebr %r4, 5, %f6 +0xb3 0xa8 0x50 0x46 + +# CHECK: cgebr %r15, 0, %f0 +0xb3 0xa8 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-cgf.txt b/test/MC/Disassembler/SystemZ/insn-cgf.txt new file mode 100644 index 00000000000..cc20d978efa --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cgf.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cgf %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x30 + +# CHECK: cgf %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x30 + +# CHECK: cgf %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x30 + +# CHECK: cgf %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x30 + +# CHECK: cgf %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x30 + +# CHECK: cgf %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x30 + +# CHECK: cgf %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x30 + +# CHECK: cgf %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x30 + +# CHECK: cgf %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x30 + +# CHECK: cgf %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x30 diff --git a/test/MC/Disassembler/SystemZ/insn-cgfi.txt b/test/MC/Disassembler/SystemZ/insn-cgfi.txt new file mode 100644 index 00000000000..05fb61231ac --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cgfi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cgfi %r0, -2147483648 +0xc2 0x0c 0x80 0x00 0x00 0x00 + +# CHECK: cgfi %r0, -1 +0xc2 0x0c 0xff 0xff 0xff 0xff + +# CHECK: cgfi %r0, 0 +0xc2 0x0c 0x00 0x00 0x00 0x00 + +# CHECK: cgfi %r0, 1 +0xc2 0x0c 0x00 0x00 0x00 0x01 + +# CHECK: cgfi %r0, 2147483647 +0xc2 0x0c 0x7f 0xff 0xff 0xff + +# CHECK: cgfi %r15, 0 +0xc2 0xfc 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-cgfr.txt b/test/MC/Disassembler/SystemZ/insn-cgfr.txt new file mode 100644 index 00000000000..272e5f8de09 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cgfr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cgfr %r0, %r0 +0xb9 0x30 0x00 0x00 + +# CHECK: cgfr %r0, %r15 +0xb9 0x30 0x00 0x0f + +# CHECK: cgfr %r15, %r0 +0xb9 0x30 0x00 0xf0 + +# CHECK: cgfr %r7, %r8 +0xb9 0x30 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-cgfrl.txt b/test/MC/Disassembler/SystemZ/insn-cgfrl.txt new file mode 100644 index 00000000000..5ad5c7d267c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cgfrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cgfrl %r0, 0x0 +0xc6 0x0c 0x00 0x00 0x00 0x00 + +# CHECK: cgfrl %r15, 0x6 +0xc6 0xfc 0x00 0x00 0x00 0x00 + +# CHECK: cgfrl %r0, 0xa +0xc6 0x0c 0xff 0xff 0xff 0xff + +# CHECK: cgfrl %r15, 0x10 +0xc6 0xfc 0xff 0xff 0xff 0xff + +# CHECK: cgfrl %r0, 0xffffffff00000018 +0xc6 0x0c 0x80 0x00 0x00 0x00 + +# CHECK: cgfrl %r15, 0xffffffff0000001e +0xc6 0xfc 0x80 0x00 0x00 0x00 + +# CHECK: cgfrl %r0, 0x100000022 +0xc6 0x0c 0x7f 0xff 0xff 0xff + +# CHECK: cgfrl %r15, 0x100000028 +0xc6 0xfc 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-cgh.txt b/test/MC/Disassembler/SystemZ/insn-cgh.txt new file mode 100644 index 00000000000..2a6b74b667a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cgh.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cgh %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x34 + +# CHECK: cgh %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x34 + +# CHECK: cgh %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x34 + +# CHECK: cgh %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x34 + +# CHECK: cgh %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x34 + +# CHECK: cgh %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x34 + +# CHECK: cgh %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x34 + +# CHECK: cgh %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x34 + +# CHECK: cgh %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x34 + +# CHECK: cgh %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x34 diff --git a/test/MC/Disassembler/SystemZ/insn-cghi.txt b/test/MC/Disassembler/SystemZ/insn-cghi.txt new file mode 100644 index 00000000000..481e469a196 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cghi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cghi %r0, -32768 +0xa7 0x0f 0x80 0x00 + +# CHECK: cghi %r0, -1 +0xa7 0x0f 0xff 0xff + +# CHECK: cghi %r0, 0 +0xa7 0x0f 0x00 0x00 + +# CHECK: cghi %r0, 1 +0xa7 0x0f 0x00 0x01 + +# CHECK: cghi %r0, 32767 +0xa7 0x0f 0x7f 0xff + +# CHECK: cghi %r15, 0 +0xa7 0xff 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-cghrl.txt b/test/MC/Disassembler/SystemZ/insn-cghrl.txt new file mode 100644 index 00000000000..1d2eac720a0 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cghrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cghrl %r0, 0x0 +0xc6 0x04 0x00 0x00 0x00 0x00 + +# CHECK: cghrl %r15, 0x6 +0xc6 0xf4 0x00 0x00 0x00 0x00 + +# CHECK: cghrl %r0, 0xa +0xc6 0x04 0xff 0xff 0xff 0xff + +# CHECK: cghrl %r15, 0x10 +0xc6 0xf4 0xff 0xff 0xff 0xff + +# CHECK: cghrl %r0, 0xffffffff00000018 +0xc6 0x04 0x80 0x00 0x00 0x00 + +# CHECK: cghrl %r15, 0xffffffff0000001e +0xc6 0xf4 0x80 0x00 0x00 0x00 + +# CHECK: cghrl %r0, 0x100000022 +0xc6 0x04 0x7f 0xff 0xff 0xff + +# CHECK: cghrl %r15, 0x100000028 +0xc6 0xf4 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-cghsi.txt b/test/MC/Disassembler/SystemZ/insn-cghsi.txt new file mode 100644 index 00000000000..49ad3fd7eb0 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cghsi.txt @@ -0,0 +1,33 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cghsi 0, 0 +0xe5 0x58 0x00 0x00 0x00 0x00 + +# CHECK: cghsi 4095, 0 +0xe5 0x58 0x0f 0xff 0x00 0x00 + +# CHECK: cghsi 0, -32768 +0xe5 0x58 0x00 0x00 0x80 0x00 + +# CHECK: cghsi 0, -1 +0xe5 0x58 0x00 0x00 0xff 0xff + +# CHECK: cghsi 0, 0 +0xe5 0x58 0x00 0x00 0x00 0x00 + +# CHECK: cghsi 0, 1 +0xe5 0x58 0x00 0x00 0x00 0x01 + +# CHECK: cghsi 0, 32767 +0xe5 0x58 0x00 0x00 0x7f 0xff + +# CHECK: cghsi 0(%r1), 42 +0xe5 0x58 0x10 0x00 0x00 0x2a + +# CHECK: cghsi 0(%r15), 42 +0xe5 0x58 0xf0 0x00 0x00 0x2a + +# CHECK: cghsi 4095(%r1), 42 +0xe5 0x58 0x1f 0xff 0x00 0x2a + +# CHECK: cghsi 4095(%r15), 42 +0xe5 0x58 0xff 0xff 0x00 0x2a diff --git a/test/MC/Disassembler/SystemZ/insn-cgr.txt b/test/MC/Disassembler/SystemZ/insn-cgr.txt new file mode 100644 index 00000000000..75cc159fd18 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cgr %r0, %r0 +0xb9 0x20 0x00 0x00 + +# CHECK: cgr %r0, %r15 +0xb9 0x20 0x00 0x0f + +# CHECK: cgr %r15, %r0 +0xb9 0x20 0x00 0xf0 + +# CHECK: cgr %r7, %r8 +0xb9 0x20 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-cgrl.txt b/test/MC/Disassembler/SystemZ/insn-cgrl.txt new file mode 100644 index 00000000000..7f4faac2a99 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cgrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cgrl %r0, 0x0 +0xc6 0x08 0x00 0x00 0x00 0x00 + +# CHECK: cgrl %r15, 0x6 +0xc6 0xf8 0x00 0x00 0x00 0x00 + +# CHECK: cgrl %r0, 0xa +0xc6 0x08 0xff 0xff 0xff 0xff + +# CHECK: cgrl %r15, 0x10 +0xc6 0xf8 0xff 0xff 0xff 0xff + +# CHECK: cgrl %r0, 0xffffffff00000018 +0xc6 0x08 0x80 0x00 0x00 0x00 + +# CHECK: cgrl %r15, 0xffffffff0000001e +0xc6 0xf8 0x80 0x00 0x00 0x00 + +# CHECK: cgrl %r0, 0x100000022 +0xc6 0x08 0x7f 0xff 0xff 0xff + +# CHECK: cgrl %r15, 0x100000028 +0xc6 0xf8 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-cgxbr.txt b/test/MC/Disassembler/SystemZ/insn-cgxbr.txt new file mode 100644 index 00000000000..d97a1ca984b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cgxbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cgxbr %r0, 0, %f0 +0xb3 0xaa 0x00 0x00 + +# CHECK: cgxbr %r0, 0, %f13 +0xb3 0xaa 0x00 0x0d + +# CHECK: cgxbr %r0, 15, %f0 +0xb3 0xaa 0xf0 0x00 + +# CHECK: cgxbr %r4, 5, %f8 +0xb3 0xaa 0x50 0x48 + +# CHECK: cgxbr %r15, 0, %f0 +0xb3 0xaa 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-ch.txt b/test/MC/Disassembler/SystemZ/insn-ch.txt new file mode 100644 index 00000000000..8501626563a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ch.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ch %r0, 0 +0x49 0x00 0x00 0x00 + +# CHECK: ch %r0, 4095 +0x49 0x00 0x0f 0xff + +# CHECK: ch %r0, 0(%r1) +0x49 0x00 0x10 0x00 + +# CHECK: ch %r0, 0(%r15) +0x49 0x00 0xf0 0x00 + +# CHECK: ch %r0, 4095(%r1,%r15) +0x49 0x01 0xff 0xff + +# CHECK: ch %r0, 4095(%r15,%r1) +0x49 0x0f 0x1f 0xff + +# CHECK: ch %r15, 0 +0x49 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-chhsi.txt b/test/MC/Disassembler/SystemZ/insn-chhsi.txt new file mode 100644 index 00000000000..6952f481cc0 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-chhsi.txt @@ -0,0 +1,33 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: chhsi 0, 0 +0xe5 0x54 0x00 0x00 0x00 0x00 + +# CHECK: chhsi 4095, 0 +0xe5 0x54 0x0f 0xff 0x00 0x00 + +# CHECK: chhsi 0, -32768 +0xe5 0x54 0x00 0x00 0x80 0x00 + +# CHECK: chhsi 0, -1 +0xe5 0x54 0x00 0x00 0xff 0xff + +# CHECK: chhsi 0, 0 +0xe5 0x54 0x00 0x00 0x00 0x00 + +# CHECK: chhsi 0, 1 +0xe5 0x54 0x00 0x00 0x00 0x01 + +# CHECK: chhsi 0, 32767 +0xe5 0x54 0x00 0x00 0x7f 0xff + +# CHECK: chhsi 0(%r1), 42 +0xe5 0x54 0x10 0x00 0x00 0x2a + +# CHECK: chhsi 0(%r15), 42 +0xe5 0x54 0xf0 0x00 0x00 0x2a + +# CHECK: chhsi 4095(%r1), 42 +0xe5 0x54 0x1f 0xff 0x00 0x2a + +# CHECK: chhsi 4095(%r15), 42 +0xe5 0x54 0xff 0xff 0x00 0x2a diff --git a/test/MC/Disassembler/SystemZ/insn-chi.txt b/test/MC/Disassembler/SystemZ/insn-chi.txt new file mode 100644 index 00000000000..a334582f3e5 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-chi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: chi %r0, -32768 +0xa7 0x0e 0x80 0x00 + +# CHECK: chi %r0, -1 +0xa7 0x0e 0xff 0xff + +# CHECK: chi %r0, 0 +0xa7 0x0e 0x00 0x00 + +# CHECK: chi %r0, 1 +0xa7 0x0e 0x00 0x01 + +# CHECK: chi %r0, 32767 +0xa7 0x0e 0x7f 0xff + +# CHECK: chi %r15, 0 +0xa7 0xfe 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-chrl.txt b/test/MC/Disassembler/SystemZ/insn-chrl.txt new file mode 100644 index 00000000000..1724329e8c2 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-chrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: chrl %r0, 0x0 +0xc6 0x05 0x00 0x00 0x00 0x00 + +# CHECK: chrl %r15, 0x6 +0xc6 0xf5 0x00 0x00 0x00 0x00 + +# CHECK: chrl %r0, 0xa +0xc6 0x05 0xff 0xff 0xff 0xff + +# CHECK: chrl %r15, 0x10 +0xc6 0xf5 0xff 0xff 0xff 0xff + +# CHECK: chrl %r0, 0xffffffff00000018 +0xc6 0x05 0x80 0x00 0x00 0x00 + +# CHECK: chrl %r15, 0xffffffff0000001e +0xc6 0xf5 0x80 0x00 0x00 0x00 + +# CHECK: chrl %r0, 0x100000022 +0xc6 0x05 0x7f 0xff 0xff 0xff + +# CHECK: chrl %r15, 0x100000028 +0xc6 0xf5 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-chsi.txt b/test/MC/Disassembler/SystemZ/insn-chsi.txt new file mode 100644 index 00000000000..09f658dc6d8 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-chsi.txt @@ -0,0 +1,33 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: chsi 0, 0 +0xe5 0x5c 0x00 0x00 0x00 0x00 + +# CHECK: chsi 4095, 0 +0xe5 0x5c 0x0f 0xff 0x00 0x00 + +# CHECK: chsi 0, -32768 +0xe5 0x5c 0x00 0x00 0x80 0x00 + +# CHECK: chsi 0, -1 +0xe5 0x5c 0x00 0x00 0xff 0xff + +# CHECK: chsi 0, 0 +0xe5 0x5c 0x00 0x00 0x00 0x00 + +# CHECK: chsi 0, 1 +0xe5 0x5c 0x00 0x00 0x00 0x01 + +# CHECK: chsi 0, 32767 +0xe5 0x5c 0x00 0x00 0x7f 0xff + +# CHECK: chsi 0(%r1), 42 +0xe5 0x5c 0x10 0x00 0x00 0x2a + +# CHECK: chsi 0(%r15), 42 +0xe5 0x5c 0xf0 0x00 0x00 0x2a + +# CHECK: chsi 4095(%r1), 42 +0xe5 0x5c 0x1f 0xff 0x00 0x2a + +# CHECK: chsi 4095(%r15), 42 +0xe5 0x5c 0xff 0xff 0x00 0x2a diff --git a/test/MC/Disassembler/SystemZ/insn-chy.txt b/test/MC/Disassembler/SystemZ/insn-chy.txt new file mode 100644 index 00000000000..dc5308d362c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-chy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: chy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x79 + +# CHECK: chy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x79 + +# CHECK: chy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x79 + +# CHECK: chy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x79 + +# CHECK: chy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x79 + +# CHECK: chy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x79 + +# CHECK: chy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x79 + +# CHECK: chy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x79 + +# CHECK: chy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x79 + +# CHECK: chy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x79 diff --git a/test/MC/Disassembler/SystemZ/insn-cl.txt b/test/MC/Disassembler/SystemZ/insn-cl.txt new file mode 100644 index 00000000000..fd2364d150f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cl.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cl %r0, 0 +0x55 0x00 0x00 0x00 + +# CHECK: cl %r0, 4095 +0x55 0x00 0x0f 0xff + +# CHECK: cl %r0, 0(%r1) +0x55 0x00 0x10 0x00 + +# CHECK: cl %r0, 0(%r15) +0x55 0x00 0xf0 0x00 + +# CHECK: cl %r0, 4095(%r1,%r15) +0x55 0x01 0xff 0xff + +# CHECK: cl %r0, 4095(%r15,%r1) +0x55 0x0f 0x1f 0xff + +# CHECK: cl %r15, 0 +0x55 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-clfhsi.txt b/test/MC/Disassembler/SystemZ/insn-clfhsi.txt new file mode 100644 index 00000000000..e2457169fde --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clfhsi.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clfhsi 0, 0 +0xe5 0x5d 0x00 0x00 0x00 0x00 + +# CHECK: clfhsi 4095, 0 +0xe5 0x5d 0x0f 0xff 0x00 0x00 + +# CHECK: clfhsi 0, 65535 +0xe5 0x5d 0x00 0x00 0xff 0xff + +# CHECK: clfhsi 0(%r1), 42 +0xe5 0x5d 0x10 0x00 0x00 0x2a + +# CHECK: clfhsi 0(%r15), 42 +0xe5 0x5d 0xf0 0x00 0x00 0x2a + +# CHECK: clfhsi 4095(%r1), 42 +0xe5 0x5d 0x1f 0xff 0x00 0x2a + +# CHECK: clfhsi 4095(%r15), 42 +0xe5 0x5d 0xff 0xff 0x00 0x2a diff --git a/test/MC/Disassembler/SystemZ/insn-clfi.txt b/test/MC/Disassembler/SystemZ/insn-clfi.txt new file mode 100644 index 00000000000..24fe22801da --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clfi.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clfi %r0, 0 +0xc2 0x0f 0x00 0x00 0x00 0x00 + +# CHECK: clfi %r0, 4294967295 +0xc2 0x0f 0xff 0xff 0xff 0xff + +# CHECK: clfi %r15, 0 +0xc2 0xff 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-clg.txt b/test/MC/Disassembler/SystemZ/insn-clg.txt new file mode 100644 index 00000000000..cf579c815c2 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x21 + +# CHECK: clg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x21 + +# CHECK: clg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x21 + +# CHECK: clg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x21 + +# CHECK: clg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x21 + +# CHECK: clg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x21 + +# CHECK: clg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x21 + +# CHECK: clg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x21 + +# CHECK: clg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x21 + +# CHECK: clg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x21 diff --git a/test/MC/Disassembler/SystemZ/insn-clgf.txt b/test/MC/Disassembler/SystemZ/insn-clgf.txt new file mode 100644 index 00000000000..61b701e2fba --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clgf.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clgf %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x31 + +# CHECK: clgf %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x31 + +# CHECK: clgf %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x31 + +# CHECK: clgf %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x31 + +# CHECK: clgf %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x31 + +# CHECK: clgf %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x31 + +# CHECK: clgf %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x31 + +# CHECK: clgf %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x31 + +# CHECK: clgf %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x31 + +# CHECK: clgf %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x31 diff --git a/test/MC/Disassembler/SystemZ/insn-clgfi.txt b/test/MC/Disassembler/SystemZ/insn-clgfi.txt new file mode 100644 index 00000000000..5972e5e6368 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clgfi.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clgfi %r0, 0 +0xc2 0x0e 0x00 0x00 0x00 0x00 + +# CHECK: clgfi %r0, 4294967295 +0xc2 0x0e 0xff 0xff 0xff 0xff + +# CHECK: clgfi %r15, 0 +0xc2 0xfe 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-clgfr.txt b/test/MC/Disassembler/SystemZ/insn-clgfr.txt new file mode 100644 index 00000000000..81cf51c93a5 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clgfr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clgfr %r0, %r0 +0xb9 0x31 0x00 0x00 + +# CHECK: clgfr %r0, %r15 +0xb9 0x31 0x00 0x0f + +# CHECK: clgfr %r15, %r0 +0xb9 0x31 0x00 0xf0 + +# CHECK: clgfr %r7, %r8 +0xb9 0x31 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-clgfrl.txt b/test/MC/Disassembler/SystemZ/insn-clgfrl.txt new file mode 100644 index 00000000000..108472be5aa --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clgfrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clgfrl %r0, 0x0 +0xc6 0x0e 0x00 0x00 0x00 0x00 + +# CHECK: clgfrl %r15, 0x6 +0xc6 0xfe 0x00 0x00 0x00 0x00 + +# CHECK: clgfrl %r0, 0xa +0xc6 0x0e 0xff 0xff 0xff 0xff + +# CHECK: clgfrl %r15, 0x10 +0xc6 0xfe 0xff 0xff 0xff 0xff + +# CHECK: clgfrl %r0, 0xffffffff00000018 +0xc6 0x0e 0x80 0x00 0x00 0x00 + +# CHECK: clgfrl %r15, 0xffffffff0000001e +0xc6 0xfe 0x80 0x00 0x00 0x00 + +# CHECK: clgfrl %r0, 0x100000022 +0xc6 0x0e 0x7f 0xff 0xff 0xff + +# CHECK: clgfrl %r15, 0x100000028 +0xc6 0xfe 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-clghrl.txt b/test/MC/Disassembler/SystemZ/insn-clghrl.txt new file mode 100644 index 00000000000..23048fe3f44 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clghrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clghrl %r0, 0x0 +0xc6 0x06 0x00 0x00 0x00 0x00 + +# CHECK: clghrl %r15, 0x6 +0xc6 0xf6 0x00 0x00 0x00 0x00 + +# CHECK: clghrl %r0, 0xa +0xc6 0x06 0xff 0xff 0xff 0xff + +# CHECK: clghrl %r15, 0x10 +0xc6 0xf6 0xff 0xff 0xff 0xff + +# CHECK: clghrl %r0, 0xffffffff00000018 +0xc6 0x06 0x80 0x00 0x00 0x00 + +# CHECK: clghrl %r15, 0xffffffff0000001e +0xc6 0xf6 0x80 0x00 0x00 0x00 + +# CHECK: clghrl %r0, 0x100000022 +0xc6 0x06 0x7f 0xff 0xff 0xff + +# CHECK: clghrl %r15, 0x100000028 +0xc6 0xf6 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-clghsi.txt b/test/MC/Disassembler/SystemZ/insn-clghsi.txt new file mode 100644 index 00000000000..64259ffcf57 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clghsi.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clghsi 0, 0 +0xe5 0x59 0x00 0x00 0x00 0x00 + +# CHECK: clghsi 4095, 0 +0xe5 0x59 0x0f 0xff 0x00 0x00 + +# CHECK: clghsi 0, 65535 +0xe5 0x59 0x00 0x00 0xff 0xff + +# CHECK: clghsi 0(%r1), 42 +0xe5 0x59 0x10 0x00 0x00 0x2a + +# CHECK: clghsi 0(%r15), 42 +0xe5 0x59 0xf0 0x00 0x00 0x2a + +# CHECK: clghsi 4095(%r1), 42 +0xe5 0x59 0x1f 0xff 0x00 0x2a + +# CHECK: clghsi 4095(%r15), 42 +0xe5 0x59 0xff 0xff 0x00 0x2a diff --git a/test/MC/Disassembler/SystemZ/insn-clgr.txt b/test/MC/Disassembler/SystemZ/insn-clgr.txt new file mode 100644 index 00000000000..70e3f5f0333 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clgr %r0, %r0 +0xb9 0x21 0x00 0x00 + +# CHECK: clgr %r0, %r15 +0xb9 0x21 0x00 0x0f + +# CHECK: clgr %r15, %r0 +0xb9 0x21 0x00 0xf0 + +# CHECK: clgr %r7, %r8 +0xb9 0x21 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-clgrl.txt b/test/MC/Disassembler/SystemZ/insn-clgrl.txt new file mode 100644 index 00000000000..cad4c7849d4 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clgrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clgrl %r0, 0x0 +0xc6 0x0a 0x00 0x00 0x00 0x00 + +# CHECK: clgrl %r15, 0x6 +0xc6 0xfa 0x00 0x00 0x00 0x00 + +# CHECK: clgrl %r0, 0xa +0xc6 0x0a 0xff 0xff 0xff 0xff + +# CHECK: clgrl %r15, 0x10 +0xc6 0xfa 0xff 0xff 0xff 0xff + +# CHECK: clgrl %r0, 0xffffffff00000018 +0xc6 0x0a 0x80 0x00 0x00 0x00 + +# CHECK: clgrl %r15, 0xffffffff0000001e +0xc6 0xfa 0x80 0x00 0x00 0x00 + +# CHECK: clgrl %r0, 0x100000022 +0xc6 0x0a 0x7f 0xff 0xff 0xff + +# CHECK: clgrl %r15, 0x100000028 +0xc6 0xfa 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-clhhsi.txt b/test/MC/Disassembler/SystemZ/insn-clhhsi.txt new file mode 100644 index 00000000000..8da079b2733 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clhhsi.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clhhsi 0, 0 +0xe5 0x55 0x00 0x00 0x00 0x00 + +# CHECK: clhhsi 4095, 0 +0xe5 0x55 0x0f 0xff 0x00 0x00 + +# CHECK: clhhsi 0, 65535 +0xe5 0x55 0x00 0x00 0xff 0xff + +# CHECK: clhhsi 0(%r1), 42 +0xe5 0x55 0x10 0x00 0x00 0x2a + +# CHECK: clhhsi 0(%r15), 42 +0xe5 0x55 0xf0 0x00 0x00 0x2a + +# CHECK: clhhsi 4095(%r1), 42 +0xe5 0x55 0x1f 0xff 0x00 0x2a + +# CHECK: clhhsi 4095(%r15), 42 +0xe5 0x55 0xff 0xff 0x00 0x2a diff --git a/test/MC/Disassembler/SystemZ/insn-clhrl.txt b/test/MC/Disassembler/SystemZ/insn-clhrl.txt new file mode 100644 index 00000000000..6fdd9e23dfe --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clhrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clhrl %r0, 0xaabbccdc +0xc6 0x07 0x55 0x5d 0xe6 0x6e + +# CHECK: clhrl %r15, 0xaabbcce2 +0xc6 0xf7 0x55 0x5d 0xe6 0x6e + +# CHECK: clhrl %r0, 0xc +0xc6 0x07 0x00 0x00 0x00 0x00 + +# CHECK: clhrl %r15, 0x12 +0xc6 0xf7 0x00 0x00 0x00 0x00 + +# CHECK: clhrl %r3, 0x18 +0xc6 0x37 0x00 0x00 0x00 0x00 + +# CHECK: clhrl %r4, 0x1e +0xc6 0x47 0x00 0x00 0x00 0x00 + +# CHECK: clhrl %r7, 0x24 +0xc6 0x77 0x00 0x00 0x00 0x00 + +# CHECK: clhrl %r8, 0x2a +0xc6 0x87 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-cli.txt b/test/MC/Disassembler/SystemZ/insn-cli.txt new file mode 100644 index 00000000000..5c730e23b69 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cli.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cli 0, 0 +0x95 0x00 0x00 0x00 + +# CHECK: cli 4095, 0 +0x95 0x00 0x0f 0xff + +# CHECK: cli 0, 255 +0x95 0xff 0x00 0x00 + +# CHECK: cli 0(%r1), 42 +0x95 0x2a 0x10 0x00 + +# CHECK: cli 0(%r15), 42 +0x95 0x2a 0xf0 0x00 + +# CHECK: cli 4095(%r1), 42 +0x95 0x2a 0x1f 0xff + +# CHECK: cli 4095(%r15), 42 +0x95 0x2a 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-cliy.txt b/test/MC/Disassembler/SystemZ/insn-cliy.txt new file mode 100644 index 00000000000..6faa1244cee --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cliy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cliy -524288, 0 +0xeb 0x00 0x00 0x00 0x80 0x55 + +# CHECK: cliy -1, 0 +0xeb 0x00 0x0f 0xff 0xff 0x55 + +# CHECK: cliy 0, 0 +0xeb 0x00 0x00 0x00 0x00 0x55 + +# CHECK: cliy 1, 0 +0xeb 0x00 0x00 0x01 0x00 0x55 + +# CHECK: cliy 524287, 0 +0xeb 0x00 0x0f 0xff 0x7f 0x55 + +# CHECK: cliy 0, 255 +0xeb 0xff 0x00 0x00 0x00 0x55 + +# CHECK: cliy 0(%r1), 42 +0xeb 0x2a 0x10 0x00 0x00 0x55 + +# CHECK: cliy 0(%r15), 42 +0xeb 0x2a 0xf0 0x00 0x00 0x55 + +# CHECK: cliy 524287(%r1), 42 +0xeb 0x2a 0x1f 0xff 0x7f 0x55 + +# CHECK: cliy 524287(%r15), 42 +0xeb 0x2a 0xff 0xff 0x7f 0x55 diff --git a/test/MC/Disassembler/SystemZ/insn-clr.txt b/test/MC/Disassembler/SystemZ/insn-clr.txt new file mode 100644 index 00000000000..81a1734d064 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clr %r0, %r0 +0x15 0x00 + +# CHECK: clr %r0, %r15 +0x15 0x0f + +# CHECK: clr %r15, %r0 +0x15 0xf0 + +# CHECK: clr %r7, %r8 +0x15 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-clrl.txt b/test/MC/Disassembler/SystemZ/insn-clrl.txt new file mode 100644 index 00000000000..72d0a46239b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-clrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: clrl %r0, 0x0 +0xc6 0x0f 0x00 0x00 0x00 0x00 + +# CHECK: clrl %r15, 0x6 +0xc6 0xff 0x00 0x00 0x00 0x00 + +# CHECK: clrl %r0, 0xa +0xc6 0x0f 0xff 0xff 0xff 0xff + +# CHECK: clrl %r15, 0x10 +0xc6 0xff 0xff 0xff 0xff 0xff + +# CHECK: clrl %r0, 0xffffffff00000018 +0xc6 0x0f 0x80 0x00 0x00 0x00 + +# CHECK: clrl %r15, 0xffffffff0000001e +0xc6 0xff 0x80 0x00 0x00 0x00 + +# CHECK: clrl %r0, 0x100000022 +0xc6 0x0f 0x7f 0xff 0xff 0xff + +# CHECK: clrl %r15, 0x100000028 +0xc6 0xff 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-cly.txt b/test/MC/Disassembler/SystemZ/insn-cly.txt new file mode 100644 index 00000000000..70878f09f7c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cly.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cly %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x55 + +# CHECK: cly %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x55 + +# CHECK: cly %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x55 + +# CHECK: cly %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x55 + +# CHECK: cly %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x55 + +# CHECK: cly %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x55 + +# CHECK: cly %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x55 + +# CHECK: cly %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x55 + +# CHECK: cly %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x55 + +# CHECK: cly %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x55 diff --git a/test/MC/Disassembler/SystemZ/insn-cpsdr.txt b/test/MC/Disassembler/SystemZ/insn-cpsdr.txt new file mode 100644 index 00000000000..d61686e2e15 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cpsdr.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cpsdr %f0, %f0, %f0 +0xb3 0x72 0x00 0x00 + +# CHECK: cpsdr %f0, %f0, %f15 +0xb3 0x72 0x00 0x0f + +# CHECK: cpsdr %f0, %f15, %f0 +0xb3 0x72 0xf0 0x00 + +# CHECK: cpsdr %f15, %f0, %f0 +0xb3 0x72 0x00 0xf0 + +# CHECK: cpsdr %f1, %f2, %f3 +0xb3 0x72 0x20 0x13 + +# CHECK: cpsdr %f15, %f15, %f15 +0xb3 0x72 0xf0 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-cr.txt b/test/MC/Disassembler/SystemZ/insn-cr.txt new file mode 100644 index 00000000000..30727731782 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cr %r0, %r0 +0x19 0x00 + +# CHECK: cr %r0, %r15 +0x19 0x0f + +# CHECK: cr %r15, %r0 +0x19 0xf0 + +# CHECK: cr %r7, %r8 +0x19 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-crl.txt b/test/MC/Disassembler/SystemZ/insn-crl.txt new file mode 100644 index 00000000000..e2d98a92579 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-crl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: crl %r0, 0x0 +0xc6 0x0d 0x00 0x00 0x00 0x00 + +# CHECK: crl %r15, 0x6 +0xc6 0xfd 0x00 0x00 0x00 0x00 + +# CHECK: crl %r0, 0xa +0xc6 0x0d 0xff 0xff 0xff 0xff + +# CHECK: crl %r15, 0x10 +0xc6 0xfd 0xff 0xff 0xff 0xff + +# CHECK: crl %r0, 0xffffffff00000018 +0xc6 0x0d 0x80 0x00 0x00 0x00 + +# CHECK: crl %r15, 0xffffffff0000001e +0xc6 0xfd 0x80 0x00 0x00 0x00 + +# CHECK: crl %r0, 0x100000022 +0xc6 0x0d 0x7f 0xff 0xff 0xff + +# CHECK: crl %r15, 0x100000028 +0xc6 0xfd 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-cs.txt b/test/MC/Disassembler/SystemZ/insn-cs.txt new file mode 100644 index 00000000000..63765f2d737 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cs.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cs %r0, %r0, 0 +0xba 0x00 0x00 0x00 + +# CHECK: cs %r0, %r0, 4095 +0xba 0x00 0x0f 0xff + +# CHECK: cs %r0, %r0, 0(%r1) +0xba 0x00 0x10 0x00 + +# CHECK: cs %r0, %r0, 0(%r15) +0xba 0x00 0xf0 0x00 + +# CHECK: cs %r0, %r0, 4095(%r1) +0xba 0x00 0x1f 0xff + +# CHECK: cs %r0, %r0, 4095(%r15) +0xba 0x00 0xff 0xff + +# CHECK: cs %r0, %r15, 0 +0xba 0x0f 0x00 0x00 + +# CHECK: cs %r15, %r0, 0 +0xba 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-csg.txt b/test/MC/Disassembler/SystemZ/insn-csg.txt new file mode 100644 index 00000000000..a1fc7337dee --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-csg.txt @@ -0,0 +1,33 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: csg %r0, %r0, -524288 +0xeb 0x00 0x00 0x00 0x80 0x30 + +# CHECK: csg %r0, %r0, -1 +0xeb 0x00 0x0f 0xff 0xff 0x30 + +# CHECK: csg %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x30 + +# CHECK: csg %r0, %r0, 1 +0xeb 0x00 0x00 0x01 0x00 0x30 + +# CHECK: csg %r0, %r0, 524287 +0xeb 0x00 0x0f 0xff 0x7f 0x30 + +# CHECK: csg %r0, %r0, 0(%r1) +0xeb 0x00 0x10 0x00 0x00 0x30 + +# CHECK: csg %r0, %r0, 0(%r15) +0xeb 0x00 0xf0 0x00 0x00 0x30 + +# CHECK: csg %r0, %r0, 524287(%r1) +0xeb 0x00 0x1f 0xff 0x7f 0x30 + +# CHECK: csg %r0, %r0, 524287(%r15) +0xeb 0x00 0xff 0xff 0x7f 0x30 + +# CHECK: csg %r0, %r15, 0 +0xeb 0x0f 0x00 0x00 0x00 0x30 + +# CHECK: csg %r15, %r0, 0 +0xeb 0xf0 0x00 0x00 0x00 0x30 diff --git a/test/MC/Disassembler/SystemZ/insn-csy.txt b/test/MC/Disassembler/SystemZ/insn-csy.txt new file mode 100644 index 00000000000..d112afbb6cd --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-csy.txt @@ -0,0 +1,33 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: csy %r0, %r0, -524288 +0xeb 0x00 0x00 0x00 0x80 0x14 + +# CHECK: csy %r0, %r0, -1 +0xeb 0x00 0x0f 0xff 0xff 0x14 + +# CHECK: csy %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x14 + +# CHECK: csy %r0, %r0, 1 +0xeb 0x00 0x00 0x01 0x00 0x14 + +# CHECK: csy %r0, %r0, 524287 +0xeb 0x00 0x0f 0xff 0x7f 0x14 + +# CHECK: csy %r0, %r0, 0(%r1) +0xeb 0x00 0x10 0x00 0x00 0x14 + +# CHECK: csy %r0, %r0, 0(%r15) +0xeb 0x00 0xf0 0x00 0x00 0x14 + +# CHECK: csy %r0, %r0, 524287(%r1) +0xeb 0x00 0x1f 0xff 0x7f 0x14 + +# CHECK: csy %r0, %r0, 524287(%r15) +0xeb 0x00 0xff 0xff 0x7f 0x14 + +# CHECK: csy %r0, %r15, 0 +0xeb 0x0f 0x00 0x00 0x00 0x14 + +# CHECK: csy %r15, %r0, 0 +0xeb 0xf0 0x00 0x00 0x00 0x14 diff --git a/test/MC/Disassembler/SystemZ/insn-cxbr.txt b/test/MC/Disassembler/SystemZ/insn-cxbr.txt new file mode 100644 index 00000000000..fe212bdeb71 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cxbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cxbr %f0, %f0 +0xb3 0x49 0x00 0x00 + +# CHECK: cxbr %f0, %f13 +0xb3 0x49 0x00 0x0d + +# CHECK: cxbr %f8, %f8 +0xb3 0x49 0x00 0x88 + +# CHECK: cxbr %f13, %f0 +0xb3 0x49 0x00 0xd0 diff --git a/test/MC/Disassembler/SystemZ/insn-cxfbr.txt b/test/MC/Disassembler/SystemZ/insn-cxfbr.txt new file mode 100644 index 00000000000..2a1199c8d73 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cxfbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cxfbr %f0, %r0 +0xb3 0x96 0x00 0x00 + +# CHECK: cxfbr %f0, %r15 +0xb3 0x96 0x00 0x0f + +# CHECK: cxfbr %f13, %r0 +0xb3 0x96 0x00 0xd0 + +# CHECK: cxfbr %f8, %r7 +0xb3 0x96 0x00 0x87 + +# CHECK: cxfbr %f13, %r15 +0xb3 0x96 0x00 0xdf diff --git a/test/MC/Disassembler/SystemZ/insn-cxgbr.txt b/test/MC/Disassembler/SystemZ/insn-cxgbr.txt new file mode 100644 index 00000000000..83fa1e87fec --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cxgbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cxgbr %f0, %r0 +0xb3 0xa6 0x00 0x00 + +# CHECK: cxgbr %f0, %r15 +0xb3 0xa6 0x00 0x0f + +# CHECK: cxgbr %f13, %r0 +0xb3 0xa6 0x00 0xd0 + +# CHECK: cxgbr %f8, %r7 +0xb3 0xa6 0x00 0x87 + +# CHECK: cxgbr %f13, %r15 +0xb3 0xa6 0x00 0xdf diff --git a/test/MC/Disassembler/SystemZ/insn-cy.txt b/test/MC/Disassembler/SystemZ/insn-cy.txt new file mode 100644 index 00000000000..20a2cba7693 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-cy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: cy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x59 + +# CHECK: cy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x59 + +# CHECK: cy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x59 + +# CHECK: cy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x59 + +# CHECK: cy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x59 + +# CHECK: cy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x59 + +# CHECK: cy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x59 + +# CHECK: cy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x59 + +# CHECK: cy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x59 + +# CHECK: cy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x59 diff --git a/test/MC/Disassembler/SystemZ/insn-ddb.txt b/test/MC/Disassembler/SystemZ/insn-ddb.txt new file mode 100644 index 00000000000..8c8e0123070 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ddb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ddb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x1d + +# CHECK: ddb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x1d + +# CHECK: ddb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x1d + +# CHECK: ddb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x1d + +# CHECK: ddb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x1d + +# CHECK: ddb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x1d + +# CHECK: ddb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x1d diff --git a/test/MC/Disassembler/SystemZ/insn-ddbr.txt b/test/MC/Disassembler/SystemZ/insn-ddbr.txt new file mode 100644 index 00000000000..cba474e4c4f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ddbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ddbr %f0, %f0 +0xb3 0x1d 0x00 0x00 + +# CHECK: ddbr %f0, %f15 +0xb3 0x1d 0x00 0x0f + +# CHECK: ddbr %f7, %f8 +0xb3 0x1d 0x00 0x78 + +# CHECK: ddbr %f15, %f0 +0xb3 0x1d 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-deb.txt b/test/MC/Disassembler/SystemZ/insn-deb.txt new file mode 100644 index 00000000000..e9830275889 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-deb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: deb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x0d + +# CHECK: deb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x0d + +# CHECK: deb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x0d + +# CHECK: deb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x0d + +# CHECK: deb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x0d + +# CHECK: deb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x0d + +# CHECK: deb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x0d diff --git a/test/MC/Disassembler/SystemZ/insn-debr.txt b/test/MC/Disassembler/SystemZ/insn-debr.txt new file mode 100644 index 00000000000..8af807c707f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-debr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: debr %f0, %f0 +0xb3 0x0d 0x00 0x00 + +# CHECK: debr %f0, %f15 +0xb3 0x0d 0x00 0x0f + +# CHECK: debr %f7, %f8 +0xb3 0x0d 0x00 0x78 + +# CHECK: debr %f15, %f0 +0xb3 0x0d 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-dl.txt b/test/MC/Disassembler/SystemZ/insn-dl.txt new file mode 100644 index 00000000000..6762f0f532c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-dl.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: dl %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x97 + +# CHECK: dl %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x97 + +# CHECK: dl %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x97 + +# CHECK: dl %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x97 + +# CHECK: dl %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x97 + +# CHECK: dl %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x97 + +# CHECK: dl %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x97 + +# CHECK: dl %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x97 + +# CHECK: dl %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x97 + +# CHECK: dl %r14, 0 +0xe3 0xe0 0x00 0x00 0x00 0x97 diff --git a/test/MC/Disassembler/SystemZ/insn-dlg.txt b/test/MC/Disassembler/SystemZ/insn-dlg.txt new file mode 100644 index 00000000000..374fd36a94b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-dlg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: dlg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x87 + +# CHECK: dlg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x87 + +# CHECK: dlg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x87 + +# CHECK: dlg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x87 + +# CHECK: dlg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x87 + +# CHECK: dlg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x87 + +# CHECK: dlg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x87 + +# CHECK: dlg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x87 + +# CHECK: dlg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x87 + +# CHECK: dlg %r14, 0 +0xe3 0xe0 0x00 0x00 0x00 0x87 diff --git a/test/MC/Disassembler/SystemZ/insn-dlgr.txt b/test/MC/Disassembler/SystemZ/insn-dlgr.txt new file mode 100644 index 00000000000..91c15565d44 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-dlgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: dlgr %r0, %r0 +0xb9 0x87 0x00 0x00 + +# CHECK: dlgr %r0, %r15 +0xb9 0x87 0x00 0x0f + +# CHECK: dlgr %r14, %r0 +0xb9 0x87 0x00 0xe0 + +# CHECK: dlgr %r6, %r9 +0xb9 0x87 0x00 0x69 diff --git a/test/MC/Disassembler/SystemZ/insn-dlr.txt b/test/MC/Disassembler/SystemZ/insn-dlr.txt new file mode 100644 index 00000000000..035cb6c7a75 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-dlr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: dlr %r0, %r0 +0xb9 0x97 0x00 0x00 + +# CHECK: dlr %r0, %r15 +0xb9 0x97 0x00 0x0f + +# CHECK: dlr %r14, %r0 +0xb9 0x97 0x00 0xe0 + +# CHECK: dlr %r6, %r9 +0xb9 0x97 0x00 0x69 diff --git a/test/MC/Disassembler/SystemZ/insn-dsg.txt b/test/MC/Disassembler/SystemZ/insn-dsg.txt new file mode 100644 index 00000000000..00b6a3f1dc8 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-dsg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: dsg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x0d + +# CHECK: dsg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x0d + +# CHECK: dsg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x0d + +# CHECK: dsg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x0d + +# CHECK: dsg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x0d + +# CHECK: dsg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x0d + +# CHECK: dsg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x0d + +# CHECK: dsg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x0d + +# CHECK: dsg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x0d + +# CHECK: dsg %r14, 0 +0xe3 0xe0 0x00 0x00 0x00 0x0d diff --git a/test/MC/Disassembler/SystemZ/insn-dsgf.txt b/test/MC/Disassembler/SystemZ/insn-dsgf.txt new file mode 100644 index 00000000000..eb68d5c8cd9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-dsgf.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: dsgf %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x1d + +# CHECK: dsgf %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x1d + +# CHECK: dsgf %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x1d + +# CHECK: dsgf %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x1d + +# CHECK: dsgf %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x1d + +# CHECK: dsgf %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x1d + +# CHECK: dsgf %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x1d + +# CHECK: dsgf %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x1d + +# CHECK: dsgf %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x1d + +# CHECK: dsgf %r14, 0 +0xe3 0xe0 0x00 0x00 0x00 0x1d diff --git a/test/MC/Disassembler/SystemZ/insn-dsgfr.txt b/test/MC/Disassembler/SystemZ/insn-dsgfr.txt new file mode 100644 index 00000000000..103bea652e7 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-dsgfr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: dsgfr %r0, %r0 +0xb9 0x1d 0x00 0x00 + +# CHECK: dsgfr %r0, %r15 +0xb9 0x1d 0x00 0x0f + +# CHECK: dsgfr %r14, %r0 +0xb9 0x1d 0x00 0xe0 + +# CHECK: dsgfr %r6, %r9 +0xb9 0x1d 0x00 0x69 diff --git a/test/MC/Disassembler/SystemZ/insn-dsgr.txt b/test/MC/Disassembler/SystemZ/insn-dsgr.txt new file mode 100644 index 00000000000..aa7df551780 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-dsgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: dsgr %r0, %r0 +0xb9 0x0d 0x00 0x00 + +# CHECK: dsgr %r0, %r15 +0xb9 0x0d 0x00 0x0f + +# CHECK: dsgr %r14, %r0 +0xb9 0x0d 0x00 0xe0 + +# CHECK: dsgr %r6, %r9 +0xb9 0x0d 0x00 0x69 diff --git a/test/MC/Disassembler/SystemZ/insn-dxbr.txt b/test/MC/Disassembler/SystemZ/insn-dxbr.txt new file mode 100644 index 00000000000..492b9e8892a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-dxbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: dxbr %f0, %f0 +0xb3 0x4d 0x00 0x00 + +# CHECK: dxbr %f0, %f13 +0xb3 0x4d 0x00 0x0d + +# CHECK: dxbr %f8, %f8 +0xb3 0x4d 0x00 0x88 + +# CHECK: dxbr %f13, %f0 +0xb3 0x4d 0x00 0xd0 diff --git a/test/MC/Disassembler/SystemZ/insn-ear.txt b/test/MC/Disassembler/SystemZ/insn-ear.txt new file mode 100644 index 00000000000..dbf240531eb --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ear.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ear %r0, %a0 +0xb2 0x4f 0x00 0x00 + +# CHECK: ear %r0, %a15 +0xb2 0x4f 0x00 0x0f + +# CHECK: ear %r15, %a0 +0xb2 0x4f 0x00 0xf0 + +# CHECK: ear %r7, %a8 +0xb2 0x4f 0x00 0x78 + +# CHECK: ear %r15, %a15 +0xb2 0x4f 0x00 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-fidbr.txt b/test/MC/Disassembler/SystemZ/insn-fidbr.txt new file mode 100644 index 00000000000..ffc09334588 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-fidbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: fidbr %f0, 0, %f0 +0xb3 0x5f 0x00 0x00 + +# CHECK: fidbr %f0, 0, %f15 +0xb3 0x5f 0x00 0x0f + +# CHECK: fidbr %f0, 15, %f0 +0xb3 0x5f 0xf0 0x00 + +# CHECK: fidbr %f4, 5, %f6 +0xb3 0x5f 0x50 0x46 + +# CHECK: fidbr %f15, 0, %f0 +0xb3 0x5f 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-fiebr.txt b/test/MC/Disassembler/SystemZ/insn-fiebr.txt new file mode 100644 index 00000000000..94d8e7b812a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-fiebr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: fiebr %f0, 0, %f0 +0xb3 0x57 0x00 0x00 + +# CHECK: fiebr %f0, 0, %f15 +0xb3 0x57 0x00 0x0f + +# CHECK: fiebr %f0, 15, %f0 +0xb3 0x57 0xf0 0x00 + +# CHECK: fiebr %f4, 5, %f6 +0xb3 0x57 0x50 0x46 + +# CHECK: fiebr %f15, 0, %f0 +0xb3 0x57 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-fixbr.txt b/test/MC/Disassembler/SystemZ/insn-fixbr.txt new file mode 100644 index 00000000000..25ce43e7da9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-fixbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: fixbr %f0, 0, %f0 +0xb3 0x47 0x00 0x00 + +# CHECK: fixbr %f0, 0, %f13 +0xb3 0x47 0x00 0x0d + +# CHECK: fixbr %f0, 15, %f0 +0xb3 0x47 0xf0 0x00 + +# CHECK: fixbr %f4, 5, %f8 +0xb3 0x47 0x50 0x48 + +# CHECK: fixbr %f13, 0, %f0 +0xb3 0x47 0x00 0xd0 diff --git a/test/MC/Disassembler/SystemZ/insn-flogr.txt b/test/MC/Disassembler/SystemZ/insn-flogr.txt new file mode 100644 index 00000000000..dee0da8800b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-flogr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: flogr %r0, %r0 +0xb9 0x83 0x00 0x00 + +# CHECK: flogr %r0, %r15 +0xb9 0x83 0x00 0x0f + +# CHECK: flogr %r10, %r9 +0xb9 0x83 0x00 0xa9 + +# CHECK: flogr %r14, %r0 +0xb9 0x83 0x00 0xe0 diff --git a/test/MC/Disassembler/SystemZ/insn-ic.txt b/test/MC/Disassembler/SystemZ/insn-ic.txt new file mode 100644 index 00000000000..989f03e2e56 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ic.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ic %r0, 0 +0x43 0x00 0x00 0x00 + +# CHECK: ic %r0, 4095 +0x43 0x00 0x0f 0xff + +# CHECK: ic %r0, 0(%r1) +0x43 0x00 0x10 0x00 + +# CHECK: ic %r0, 0(%r15) +0x43 0x00 0xf0 0x00 + +# CHECK: ic %r0, 4095(%r1,%r15) +0x43 0x01 0xff 0xff + +# CHECK: ic %r0, 4095(%r15,%r1) +0x43 0x0f 0x1f 0xff + +# CHECK: ic %r15, 0 +0x43 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-icy.txt b/test/MC/Disassembler/SystemZ/insn-icy.txt new file mode 100644 index 00000000000..3ae53106ca7 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-icy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: icy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x73 + +# CHECK: icy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x73 + +# CHECK: icy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x73 + +# CHECK: icy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x73 + +# CHECK: icy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x73 + +# CHECK: icy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x73 + +# CHECK: icy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x73 + +# CHECK: icy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x73 + +# CHECK: icy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x73 + +# CHECK: icy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x73 diff --git a/test/MC/Disassembler/SystemZ/insn-iihf.txt b/test/MC/Disassembler/SystemZ/insn-iihf.txt new file mode 100644 index 00000000000..d4f46c4ea0d --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-iihf.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: iihf %r0, 0 +0xc0 0x08 0x00 0x00 0x00 0x00 + +# CHECK: iihf %r0, 4294967295 +0xc0 0x08 0xff 0xff 0xff 0xff + +# CHECK: iihf %r15, 0 +0xc0 0xf8 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-iihh.txt b/test/MC/Disassembler/SystemZ/insn-iihh.txt new file mode 100644 index 00000000000..aed6ba8c4dc --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-iihh.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: iihh %r0, 0 +0xa5 0x00 0x00 0x00 + +# CHECK: iihh %r0, 32768 +0xa5 0x00 0x80 0x00 + +# CHECK: iihh %r0, 65535 +0xa5 0x00 0xff 0xff + +# CHECK: iihh %r15, 0 +0xa5 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-iihl.txt b/test/MC/Disassembler/SystemZ/insn-iihl.txt new file mode 100644 index 00000000000..9e9b4559ae4 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-iihl.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: iihl %r0, 0 +0xa5 0x01 0x00 0x00 + +# CHECK: iihl %r0, 32768 +0xa5 0x01 0x80 0x00 + +# CHECK: iihl %r0, 65535 +0xa5 0x01 0xff 0xff + +# CHECK: iihl %r15, 0 +0xa5 0xf1 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-iilf.txt b/test/MC/Disassembler/SystemZ/insn-iilf.txt new file mode 100644 index 00000000000..c57692db44a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-iilf.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: iilf %r0, 0 +0xc0 0x09 0x00 0x00 0x00 0x00 + +# CHECK: iilf %r0, 4294967295 +0xc0 0x09 0xff 0xff 0xff 0xff + +# CHECK: iilf %r15, 0 +0xc0 0xf9 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-iilh.txt b/test/MC/Disassembler/SystemZ/insn-iilh.txt new file mode 100644 index 00000000000..3692cb3908d --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-iilh.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: iilh %r0, 0 +0xa5 0x02 0x00 0x00 + +# CHECK: iilh %r0, 32768 +0xa5 0x02 0x80 0x00 + +# CHECK: iilh %r0, 65535 +0xa5 0x02 0xff 0xff + +# CHECK: iilh %r15, 0 +0xa5 0xf2 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-iill.txt b/test/MC/Disassembler/SystemZ/insn-iill.txt new file mode 100644 index 00000000000..2975894e3a6 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-iill.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: iill %r0, 0 +0xa5 0x03 0x00 0x00 + +# CHECK: iill %r0, 32768 +0xa5 0x03 0x80 0x00 + +# CHECK: iill %r0, 65535 +0xa5 0x03 0xff 0xff + +# CHECK: iill %r15, 0 +0xa5 0xf3 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-l.txt b/test/MC/Disassembler/SystemZ/insn-l.txt new file mode 100644 index 00000000000..a266c487be3 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-l.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: l %r0, 0 +0x58 0x00 0x00 0x00 + +# CHECK: l %r0, 4095 +0x58 0x00 0x0f 0xff + +# CHECK: l %r0, 0(%r1) +0x58 0x00 0x10 0x00 + +# CHECK: l %r0, 0(%r15) +0x58 0x00 0xf0 0x00 + +# CHECK: l %r0, 4095(%r1,%r15) +0x58 0x01 0xff 0xff + +# CHECK: l %r0, 4095(%r15,%r1) +0x58 0x0f 0x1f 0xff + +# CHECK: l %r15, 0 +0x58 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-la.txt b/test/MC/Disassembler/SystemZ/insn-la.txt new file mode 100644 index 00000000000..90d99f85817 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-la.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: la %r0, 0 +0x41 0x00 0x00 0x00 + +# CHECK: la %r0, 4095 +0x41 0x00 0x0f 0xff + +# CHECK: la %r0, 0(%r1) +0x41 0x00 0x10 0x00 + +# CHECK: la %r0, 0(%r15) +0x41 0x00 0xf0 0x00 + +# CHECK: la %r0, 4095(%r1,%r15) +0x41 0x01 0xff 0xff + +# CHECK: la %r0, 4095(%r15,%r1) +0x41 0x0f 0x1f 0xff + +# CHECK: la %r15, 0 +0x41 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-larl.txt b/test/MC/Disassembler/SystemZ/insn-larl.txt new file mode 100644 index 00000000000..814bba52da9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-larl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: larl %r0, 0x0 +0xc0 0x00 0x00 0x00 0x00 0x00 + +# CHECK: larl %r15, 0x6 +0xc0 0xf0 0x00 0x00 0x00 0x00 + +# CHECK: larl %r0, 0xa +0xc0 0x00 0xff 0xff 0xff 0xff + +# CHECK: larl %r15, 0x10 +0xc0 0xf0 0xff 0xff 0xff 0xff + +# CHECK: larl %r0, 0xffffffff00000018 +0xc0 0x00 0x80 0x00 0x00 0x00 + +# CHECK: larl %r15, 0xffffffff0000001e +0xc0 0xf0 0x80 0x00 0x00 0x00 + +# CHECK: larl %r0, 0x100000022 +0xc0 0x00 0x7f 0xff 0xff 0xff + +# CHECK: larl %r15, 0x100000028 +0xc0 0xf0 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-lay.txt b/test/MC/Disassembler/SystemZ/insn-lay.txt new file mode 100644 index 00000000000..35b2e50d423 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lay.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lay %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x71 + +# CHECK: lay %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x71 + +# CHECK: lay %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x71 + +# CHECK: lay %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x71 + +# CHECK: lay %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x71 + +# CHECK: lay %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x71 + +# CHECK: lay %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x71 + +# CHECK: lay %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x71 + +# CHECK: lay %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x71 + +# CHECK: lay %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x71 diff --git a/test/MC/Disassembler/SystemZ/insn-lb.txt b/test/MC/Disassembler/SystemZ/insn-lb.txt new file mode 100644 index 00000000000..af0e7cce5c9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lb.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lb %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x76 + +# CHECK: lb %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x76 + +# CHECK: lb %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x76 + +# CHECK: lb %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x76 + +# CHECK: lb %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x76 + +# CHECK: lb %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x76 + +# CHECK: lb %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x76 + +# CHECK: lb %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x76 + +# CHECK: lb %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x76 + +# CHECK: lb %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x76 diff --git a/test/MC/Disassembler/SystemZ/insn-lbr.txt b/test/MC/Disassembler/SystemZ/insn-lbr.txt new file mode 100644 index 00000000000..9745bcc4082 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lbr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lbr %r0, %r15 +0xb9 0x26 0x00 0x0f + +# CHECK: lbr %r7, %r8 +0xb9 0x26 0x00 0x78 + +# CHECK: lbr %r15, %r0 +0xb9 0x26 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-lcdbr.txt b/test/MC/Disassembler/SystemZ/insn-lcdbr.txt new file mode 100644 index 00000000000..409eb2d65fc --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lcdbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lcdbr %f0, %f9 +0xb3 0x13 0x00 0x09 + +# CHECK: lcdbr %f0, %f15 +0xb3 0x13 0x00 0x0f + +# CHECK: lcdbr %f15, %f0 +0xb3 0x13 0x00 0xf0 + +# CHECK: lcdbr %f15, %f9 +0xb3 0x13 0x00 0xf9 diff --git a/test/MC/Disassembler/SystemZ/insn-lcebr.txt b/test/MC/Disassembler/SystemZ/insn-lcebr.txt new file mode 100644 index 00000000000..67ea2d4edb1 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lcebr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lcebr %f0, %f9 +0xb3 0x03 0x00 0x09 + +# CHECK: lcebr %f0, %f15 +0xb3 0x03 0x00 0x0f + +# CHECK: lcebr %f15, %f0 +0xb3 0x03 0x00 0xf0 + +# CHECK: lcebr %f15, %f9 +0xb3 0x03 0x00 0xf9 diff --git a/test/MC/Disassembler/SystemZ/insn-lcgfr.txt b/test/MC/Disassembler/SystemZ/insn-lcgfr.txt new file mode 100644 index 00000000000..c13739c58b9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lcgfr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lcgfr %r0, %r0 +0xb9 0x13 0x00 0x00 + +# CHECK: lcgfr %r0, %r15 +0xb9 0x13 0x00 0x0f + +# CHECK: lcgfr %r15, %r0 +0xb9 0x13 0x00 0xf0 + +# CHECK: lcgfr %r7, %r8 +0xb9 0x13 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-lcgr.txt b/test/MC/Disassembler/SystemZ/insn-lcgr.txt new file mode 100644 index 00000000000..540fa6e3b61 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lcgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lcgr %r0, %r0 +0xb9 0x03 0x00 0x00 + +# CHECK: lcgr %r0, %r15 +0xb9 0x03 0x00 0x0f + +# CHECK: lcgr %r15, %r0 +0xb9 0x03 0x00 0xf0 + +# CHECK: lcgr %r7, %r8 +0xb9 0x03 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-lcr.txt b/test/MC/Disassembler/SystemZ/insn-lcr.txt new file mode 100644 index 00000000000..1194ccd0050 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lcr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lcr %r0, %r0 +0x13 0x00 + +# CHECK: lcr %r0, %r15 +0x13 0x0f + +# CHECK: lcr %r15, %r0 +0x13 0xf0 + +# CHECK: lcr %r7, %r8 +0x13 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-lcxbr.txt b/test/MC/Disassembler/SystemZ/insn-lcxbr.txt new file mode 100644 index 00000000000..31471ad9ef7 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lcxbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lcxbr %f0, %f8 +0xb3 0x43 0x00 0x08 + +# CHECK: lcxbr %f0, %f13 +0xb3 0x43 0x00 0x0d + +# CHECK: lcxbr %f13, %f0 +0xb3 0x43 0x00 0xd0 + +# CHECK: lcxbr %f13, %f9 +0xb3 0x43 0x00 0xd9 diff --git a/test/MC/Disassembler/SystemZ/insn-ld.txt b/test/MC/Disassembler/SystemZ/insn-ld.txt new file mode 100644 index 00000000000..c9361c63d6b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ld.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ld %f0, 0 +0x68 0x00 0x00 0x00 + +# CHECK: ld %f0, 4095 +0x68 0x00 0x0f 0xff + +# CHECK: ld %f0, 0(%r1) +0x68 0x00 0x10 0x00 + +# CHECK: ld %f0, 0(%r15) +0x68 0x00 0xf0 0x00 + +# CHECK: ld %f0, 4095(%r1,%r15) +0x68 0x01 0xff 0xff + +# CHECK: ld %f0, 4095(%r15,%r1) +0x68 0x0f 0x1f 0xff + +# CHECK: ld %f15, 0 +0x68 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-ldeb.txt b/test/MC/Disassembler/SystemZ/insn-ldeb.txt new file mode 100644 index 00000000000..d45b01dcdc9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ldeb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ldeb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x04 + +# CHECK: ldeb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x04 + +# CHECK: ldeb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x04 + +# CHECK: ldeb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x04 + +# CHECK: ldeb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x04 + +# CHECK: ldeb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x04 + +# CHECK: ldeb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x04 diff --git a/test/MC/Disassembler/SystemZ/insn-ldebr.txt b/test/MC/Disassembler/SystemZ/insn-ldebr.txt new file mode 100644 index 00000000000..dc855187c37 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ldebr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ldebr %f0, %f15 +0xb3 0x04 0x00 0x0f + +# CHECK: ldebr %f7, %f8 +0xb3 0x04 0x00 0x78 + +# CHECK: ldebr %f15, %f0 +0xb3 0x04 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-ldgr.txt b/test/MC/Disassembler/SystemZ/insn-ldgr.txt new file mode 100644 index 00000000000..80d303bfc9d --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ldgr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ldgr %f0, %r0 +0xb3 0xc1 0x00 0x00 + +# CHECK: ldgr %f0, %r15 +0xb3 0xc1 0x00 0x0f + +# CHECK: ldgr %f15, %r0 +0xb3 0xc1 0x00 0xf0 + +# CHECK: ldgr %f7, %r9 +0xb3 0xc1 0x00 0x79 + +# CHECK: ldgr %f15, %r15 +0xb3 0xc1 0x00 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-ldr.txt b/test/MC/Disassembler/SystemZ/insn-ldr.txt new file mode 100644 index 00000000000..25e061bf885 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ldr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ldr %f0, %f9 +0x28 0x09 + +# CHECK: ldr %f0, %f15 +0x28 0x0f + +# CHECK: ldr %f15, %f0 +0x28 0xf0 + +# CHECK: ldr %f15, %f9 +0x28 0xf9 diff --git a/test/MC/Disassembler/SystemZ/insn-ldxbr.txt b/test/MC/Disassembler/SystemZ/insn-ldxbr.txt new file mode 100644 index 00000000000..9d438dcdc7c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ldxbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ldxbr %f0, %f0 +0xb3 0x45 0x00 0x00 + +# CHECK: ldxbr %f0, %f13 +0xb3 0x45 0x00 0x0d + +# CHECK: ldxbr %f8, %f12 +0xb3 0x45 0x00 0x8c + +# CHECK: ldxbr %f13, %f0 +0xb3 0x45 0x00 0xd0 + +# CHECK: ldxbr %f13, %f13 +0xb3 0x45 0x00 0xdd diff --git a/test/MC/Disassembler/SystemZ/insn-ldy.txt b/test/MC/Disassembler/SystemZ/insn-ldy.txt new file mode 100644 index 00000000000..712aca0b701 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ldy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ldy %f0, -524288 +0xed 0x00 0x00 0x00 0x80 0x65 + +# CHECK: ldy %f0, -1 +0xed 0x00 0x0f 0xff 0xff 0x65 + +# CHECK: ldy %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x65 + +# CHECK: ldy %f0, 1 +0xed 0x00 0x00 0x01 0x00 0x65 + +# CHECK: ldy %f0, 524287 +0xed 0x00 0x0f 0xff 0x7f 0x65 + +# CHECK: ldy %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x65 + +# CHECK: ldy %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x65 + +# CHECK: ldy %f0, 524287(%r1,%r15) +0xed 0x01 0xff 0xff 0x7f 0x65 + +# CHECK: ldy %f0, 524287(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x7f 0x65 + +# CHECK: ldy %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x65 diff --git a/test/MC/Disassembler/SystemZ/insn-le.txt b/test/MC/Disassembler/SystemZ/insn-le.txt new file mode 100644 index 00000000000..2b11f001c8b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-le.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: le %f0, 0 +0x78 0x00 0x00 0x00 + +# CHECK: le %f0, 4095 +0x78 0x00 0x0f 0xff + +# CHECK: le %f0, 0(%r1) +0x78 0x00 0x10 0x00 + +# CHECK: le %f0, 0(%r15) +0x78 0x00 0xf0 0x00 + +# CHECK: le %f0, 4095(%r1,%r15) +0x78 0x01 0xff 0xff + +# CHECK: le %f0, 4095(%r15,%r1) +0x78 0x0f 0x1f 0xff + +# CHECK: le %f15, 0 +0x78 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-ledbr.txt b/test/MC/Disassembler/SystemZ/insn-ledbr.txt new file mode 100644 index 00000000000..5a7d41d302b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ledbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ledbr %f0, %f0 +0xb3 0x44 0x00 0x00 + +# CHECK: ledbr %f0, %f15 +0xb3 0x44 0x00 0x0f + +# CHECK: ledbr %f7, %f8 +0xb3 0x44 0x00 0x78 + +# CHECK: ledbr %f15, %f0 +0xb3 0x44 0x00 0xf0 + +# CHECK: ledbr %f15, %f15 +0xb3 0x44 0x00 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-ler.txt b/test/MC/Disassembler/SystemZ/insn-ler.txt new file mode 100644 index 00000000000..f18dc45713f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ler.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ler %f0, %f9 +0x38 0x09 + +# CHECK: ler %f0, %f15 +0x38 0x0f + +# CHECK: ler %f15, %f0 +0x38 0xf0 + +# CHECK: ler %f15, %f9 +0x38 0xf9 diff --git a/test/MC/Disassembler/SystemZ/insn-lexbr.txt b/test/MC/Disassembler/SystemZ/insn-lexbr.txt new file mode 100644 index 00000000000..377a187a63e --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lexbr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lexbr %f0, %f0 +0xb3 0x46 0x00 0x00 + +# CHECK: lexbr %f0, %f13 +0xb3 0x46 0x00 0x0d + +# CHECK: lexbr %f8, %f12 +0xb3 0x46 0x00 0x8c + +# CHECK: lexbr %f13, %f0 +0xb3 0x46 0x00 0xd0 + +# CHECK: lexbr %f13, %f13 +0xb3 0x46 0x00 0xdd diff --git a/test/MC/Disassembler/SystemZ/insn-ley.txt b/test/MC/Disassembler/SystemZ/insn-ley.txt new file mode 100644 index 00000000000..97a3b3882f7 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ley.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ley %f0, -524288 +0xed 0x00 0x00 0x00 0x80 0x64 + +# CHECK: ley %f0, -1 +0xed 0x00 0x0f 0xff 0xff 0x64 + +# CHECK: ley %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x64 + +# CHECK: ley %f0, 1 +0xed 0x00 0x00 0x01 0x00 0x64 + +# CHECK: ley %f0, 524287 +0xed 0x00 0x0f 0xff 0x7f 0x64 + +# CHECK: ley %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x64 + +# CHECK: ley %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x64 + +# CHECK: ley %f0, 524287(%r1,%r15) +0xed 0x01 0xff 0xff 0x7f 0x64 + +# CHECK: ley %f0, 524287(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x7f 0x64 + +# CHECK: ley %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x64 diff --git a/test/MC/Disassembler/SystemZ/insn-lg.txt b/test/MC/Disassembler/SystemZ/insn-lg.txt new file mode 100644 index 00000000000..956495f48cd --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x04 + +# CHECK: lg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x04 + +# CHECK: lg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x04 + +# CHECK: lg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x04 + +# CHECK: lg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x04 + +# CHECK: lg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x04 + +# CHECK: lg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x04 + +# CHECK: lg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x04 + +# CHECK: lg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x04 + +# CHECK: lg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x04 diff --git a/test/MC/Disassembler/SystemZ/insn-lgb.txt b/test/MC/Disassembler/SystemZ/insn-lgb.txt new file mode 100644 index 00000000000..fa21f324b36 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lgb.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lgb %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x77 + +# CHECK: lgb %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x77 + +# CHECK: lgb %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x77 + +# CHECK: lgb %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x77 + +# CHECK: lgb %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x77 + +# CHECK: lgb %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x77 + +# CHECK: lgb %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x77 + +# CHECK: lgb %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x77 + +# CHECK: lgb %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x77 + +# CHECK: lgb %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x77 diff --git a/test/MC/Disassembler/SystemZ/insn-lgbr.txt b/test/MC/Disassembler/SystemZ/insn-lgbr.txt new file mode 100644 index 00000000000..1f1d28d84a8 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lgbr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lgbr %r0, %r15 +0xb9 0x06 0x00 0x0f + +# CHECK: lgbr %r7, %r8 +0xb9 0x06 0x00 0x78 + +# CHECK: lgbr %r15, %r0 +0xb9 0x06 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-lgdr.txt b/test/MC/Disassembler/SystemZ/insn-lgdr.txt new file mode 100644 index 00000000000..a3059757aa1 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lgdr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lgdr %r0, %f0 +0xb3 0xcd 0x00 0x00 + +# CHECK: lgdr %r0, %f15 +0xb3 0xcd 0x00 0x0f + +# CHECK: lgdr %r15, %f0 +0xb3 0xcd 0x00 0xf0 + +# CHECK: lgdr %r8, %f8 +0xb3 0xcd 0x00 0x88 + +# CHECK: lgdr %r15, %f15 +0xb3 0xcd 0x00 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-lgf.txt b/test/MC/Disassembler/SystemZ/insn-lgf.txt new file mode 100644 index 00000000000..9bc22998a64 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lgf.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lgf %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x14 + +# CHECK: lgf %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x14 + +# CHECK: lgf %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x14 + +# CHECK: lgf %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x14 + +# CHECK: lgf %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x14 + +# CHECK: lgf %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x14 + +# CHECK: lgf %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x14 + +# CHECK: lgf %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x14 + +# CHECK: lgf %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x14 + +# CHECK: lgf %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x14 diff --git a/test/MC/Disassembler/SystemZ/insn-lgfi.txt b/test/MC/Disassembler/SystemZ/insn-lgfi.txt new file mode 100644 index 00000000000..736a8045c75 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lgfi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lgfi %r0, -2147483648 +0xc0 0x01 0x80 0x00 0x00 0x00 + +# CHECK: lgfi %r0, -1 +0xc0 0x01 0xff 0xff 0xff 0xff + +# CHECK: lgfi %r0, 0 +0xc0 0x01 0x00 0x00 0x00 0x00 + +# CHECK: lgfi %r0, 1 +0xc0 0x01 0x00 0x00 0x00 0x01 + +# CHECK: lgfi %r0, 2147483647 +0xc0 0x01 0x7f 0xff 0xff 0xff + +# CHECK: lgfi %r15, 0 +0xc0 0xf1 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-lgfr.txt b/test/MC/Disassembler/SystemZ/insn-lgfr.txt new file mode 100644 index 00000000000..d57a9db84ad --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lgfr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lgfr %r0, %r15 +0xb9 0x14 0x00 0x0f + +# CHECK: lgfr %r7, %r8 +0xb9 0x14 0x00 0x78 + +# CHECK: lgfr %r15, %r0 +0xb9 0x14 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-lgfrl.txt b/test/MC/Disassembler/SystemZ/insn-lgfrl.txt new file mode 100644 index 00000000000..fecd3458b7f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lgfrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lgfrl %r0, 0x0 +0xc4 0x0c 0x00 0x00 0x00 0x00 + +# CHECK: lgfrl %r15, 0x6 +0xc4 0xfc 0x00 0x00 0x00 0x00 + +# CHECK: lgfrl %r0, 0xa +0xc4 0x0c 0xff 0xff 0xff 0xff + +# CHECK: lgfrl %r15, 0x10 +0xc4 0xfc 0xff 0xff 0xff 0xff + +# CHECK: lgfrl %r0, 0xffffffff00000018 +0xc4 0x0c 0x80 0x00 0x00 0x00 + +# CHECK: lgfrl %r15, 0xffffffff0000001e +0xc4 0xfc 0x80 0x00 0x00 0x00 + +# CHECK: lgfrl %r0, 0x100000022 +0xc4 0x0c 0x7f 0xff 0xff 0xff + +# CHECK: lgfrl %r15, 0x100000028 +0xc4 0xfc 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-lgh.txt b/test/MC/Disassembler/SystemZ/insn-lgh.txt new file mode 100644 index 00000000000..a3ea87fcd20 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lgh.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lgh %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x15 + +# CHECK: lgh %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x15 + +# CHECK: lgh %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x15 + +# CHECK: lgh %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x15 + +# CHECK: lgh %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x15 + +# CHECK: lgh %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x15 + +# CHECK: lgh %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x15 + +# CHECK: lgh %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x15 + +# CHECK: lgh %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x15 + +# CHECK: lgh %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x15 diff --git a/test/MC/Disassembler/SystemZ/insn-lghi.txt b/test/MC/Disassembler/SystemZ/insn-lghi.txt new file mode 100644 index 00000000000..ad8366f95c2 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lghi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lghi %r0, -32768 +0xa7 0x09 0x80 0x00 + +# CHECK: lghi %r0, -1 +0xa7 0x09 0xff 0xff + +# CHECK: lghi %r0, 0 +0xa7 0x09 0x00 0x00 + +# CHECK: lghi %r0, 1 +0xa7 0x09 0x00 0x01 + +# CHECK: lghi %r0, 32767 +0xa7 0x09 0x7f 0xff + +# CHECK: lghi %r15, 0 +0xa7 0xf9 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-lghr.txt b/test/MC/Disassembler/SystemZ/insn-lghr.txt new file mode 100644 index 00000000000..d7e9e461fd9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lghr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lghr %r0, %r15 +0xb9 0x07 0x00 0x0f + +# CHECK: lghr %r7, %r8 +0xb9 0x07 0x00 0x78 + +# CHECK: lghr %r15, %r0 +0xb9 0x07 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-lghrl.txt b/test/MC/Disassembler/SystemZ/insn-lghrl.txt new file mode 100644 index 00000000000..cfa9622c8a7 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lghrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lghrl %r0, 0x0 +0xc4 0x04 0x00 0x00 0x00 0x00 + +# CHECK: lghrl %r15, 0x6 +0xc4 0xf4 0x00 0x00 0x00 0x00 + +# CHECK: lghrl %r0, 0xa +0xc4 0x04 0xff 0xff 0xff 0xff + +# CHECK: lghrl %r15, 0x10 +0xc4 0xf4 0xff 0xff 0xff 0xff + +# CHECK: lghrl %r0, 0xffffffff00000018 +0xc4 0x04 0x80 0x00 0x00 0x00 + +# CHECK: lghrl %r15, 0xffffffff0000001e +0xc4 0xf4 0x80 0x00 0x00 0x00 + +# CHECK: lghrl %r0, 0x100000022 +0xc4 0x04 0x7f 0xff 0xff 0xff + +# CHECK: lghrl %r15, 0x100000028 +0xc4 0xf4 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-lgr.txt b/test/MC/Disassembler/SystemZ/insn-lgr.txt new file mode 100644 index 00000000000..23998e62af5 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lgr %r0, %r9 +0xb9 0x04 0x00 0x09 + +# CHECK: lgr %r0, %r15 +0xb9 0x04 0x00 0x0f + +# CHECK: lgr %r15, %r0 +0xb9 0x04 0x00 0xf0 + +# CHECK: lgr %r15, %r9 +0xb9 0x04 0x00 0xf9 diff --git a/test/MC/Disassembler/SystemZ/insn-lgrl.txt b/test/MC/Disassembler/SystemZ/insn-lgrl.txt new file mode 100644 index 00000000000..785aa97f599 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lgrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lgrl %r0, 0x0 +0xc4 0x08 0x00 0x00 0x00 0x00 + +# CHECK: lgrl %r15, 0x6 +0xc4 0xf8 0x00 0x00 0x00 0x00 + +# CHECK: lgrl %r0, 0xa +0xc4 0x08 0xff 0xff 0xff 0xff + +# CHECK: lgrl %r15, 0x10 +0xc4 0xf8 0xff 0xff 0xff 0xff + +# CHECK: lgrl %r0, 0xffffffff00000018 +0xc4 0x08 0x80 0x00 0x00 0x00 + +# CHECK: lgrl %r15, 0xffffffff0000001e +0xc4 0xf8 0x80 0x00 0x00 0x00 + +# CHECK: lgrl %r0, 0x100000022 +0xc4 0x08 0x7f 0xff 0xff 0xff + +# CHECK: lgrl %r15, 0x100000028 +0xc4 0xf8 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-lh.txt b/test/MC/Disassembler/SystemZ/insn-lh.txt new file mode 100644 index 00000000000..700b942619a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lh.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lh %r0, 0 +0x48 0x00 0x00 0x00 + +# CHECK: lh %r0, 4095 +0x48 0x00 0x0f 0xff + +# CHECK: lh %r0, 0(%r1) +0x48 0x00 0x10 0x00 + +# CHECK: lh %r0, 0(%r15) +0x48 0x00 0xf0 0x00 + +# CHECK: lh %r0, 4095(%r1,%r15) +0x48 0x01 0xff 0xff + +# CHECK: lh %r0, 4095(%r15,%r1) +0x48 0x0f 0x1f 0xff + +# CHECK: lh %r15, 0 +0x48 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-lhi.txt b/test/MC/Disassembler/SystemZ/insn-lhi.txt new file mode 100644 index 00000000000..fbb10f54973 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lhi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lhi %r0, -32768 +0xa7 0x08 0x80 0x00 + +# CHECK: lhi %r0, -1 +0xa7 0x08 0xff 0xff + +# CHECK: lhi %r0, 0 +0xa7 0x08 0x00 0x00 + +# CHECK: lhi %r0, 1 +0xa7 0x08 0x00 0x01 + +# CHECK: lhi %r0, 32767 +0xa7 0x08 0x7f 0xff + +# CHECK: lhi %r15, 0 +0xa7 0xf8 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-lhr.txt b/test/MC/Disassembler/SystemZ/insn-lhr.txt new file mode 100644 index 00000000000..24a38a5f73c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lhr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lhr %r0, %r15 +0xb9 0x27 0x00 0x0f + +# CHECK: lhr %r7, %r8 +0xb9 0x27 0x00 0x78 + +# CHECK: lhr %r15, %r0 +0xb9 0x27 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-lhrl.txt b/test/MC/Disassembler/SystemZ/insn-lhrl.txt new file mode 100644 index 00000000000..1728e054e1c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lhrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lhrl %r0, 0x0 +0xc4 0x05 0x00 0x00 0x00 0x00 + +# CHECK: lhrl %r15, 0x6 +0xc4 0xf5 0x00 0x00 0x00 0x00 + +# CHECK: lhrl %r0, 0xa +0xc4 0x05 0xff 0xff 0xff 0xff + +# CHECK: lhrl %r15, 0x10 +0xc4 0xf5 0xff 0xff 0xff 0xff + +# CHECK: lhrl %r0, 0xffffffff00000018 +0xc4 0x05 0x80 0x00 0x00 0x00 + +# CHECK: lhrl %r15, 0xffffffff0000001e +0xc4 0xf5 0x80 0x00 0x00 0x00 + +# CHECK: lhrl %r0, 0x100000022 +0xc4 0x05 0x7f 0xff 0xff 0xff + +# CHECK: lhrl %r15, 0x100000028 +0xc4 0xf5 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-lhy.txt b/test/MC/Disassembler/SystemZ/insn-lhy.txt new file mode 100644 index 00000000000..679353e7652 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lhy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lhy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x78 + +# CHECK: lhy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x78 + +# CHECK: lhy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x78 + +# CHECK: lhy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x78 + +# CHECK: lhy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x78 + +# CHECK: lhy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x78 + +# CHECK: lhy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x78 + +# CHECK: lhy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x78 + +# CHECK: lhy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x78 + +# CHECK: lhy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-llc.txt b/test/MC/Disassembler/SystemZ/insn-llc.txt new file mode 100644 index 00000000000..895cef22c58 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llc.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llc %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x94 + +# CHECK: llc %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x94 + +# CHECK: llc %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x94 + +# CHECK: llc %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x94 + +# CHECK: llc %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x94 + +# CHECK: llc %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x94 + +# CHECK: llc %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x94 + +# CHECK: llc %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x94 + +# CHECK: llc %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x94 + +# CHECK: llc %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x94 diff --git a/test/MC/Disassembler/SystemZ/insn-llcr.txt b/test/MC/Disassembler/SystemZ/insn-llcr.txt new file mode 100644 index 00000000000..cc675243668 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llcr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llcr %r0, %r15 +0xb9 0x94 0x00 0x0f + +# CHECK: llcr %r7, %r8 +0xb9 0x94 0x00 0x78 + +# CHECK: llcr %r15, %r0 +0xb9 0x94 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-llgc.txt b/test/MC/Disassembler/SystemZ/insn-llgc.txt new file mode 100644 index 00000000000..eeea56ac2ee --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llgc.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llgc %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x90 + +# CHECK: llgc %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x90 + +# CHECK: llgc %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x90 + +# CHECK: llgc %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x90 + +# CHECK: llgc %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x90 + +# CHECK: llgc %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x90 + +# CHECK: llgc %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x90 + +# CHECK: llgc %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x90 + +# CHECK: llgc %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x90 + +# CHECK: llgc %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x90 diff --git a/test/MC/Disassembler/SystemZ/insn-llgcr.txt b/test/MC/Disassembler/SystemZ/insn-llgcr.txt new file mode 100644 index 00000000000..8c0b6df54e9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llgcr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llgcr %r0, %r15 +0xb9 0x84 0x00 0x0f + +# CHECK: llgcr %r7, %r8 +0xb9 0x84 0x00 0x78 + +# CHECK: llgcr %r15, %r0 +0xb9 0x84 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-llgf.txt b/test/MC/Disassembler/SystemZ/insn-llgf.txt new file mode 100644 index 00000000000..f97baa9bc7b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llgf.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llgf %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x16 + +# CHECK: llgf %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x16 + +# CHECK: llgf %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x16 + +# CHECK: llgf %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x16 + +# CHECK: llgf %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x16 + +# CHECK: llgf %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x16 + +# CHECK: llgf %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x16 + +# CHECK: llgf %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x16 + +# CHECK: llgf %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x16 + +# CHECK: llgf %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x16 diff --git a/test/MC/Disassembler/SystemZ/insn-llgfr.txt b/test/MC/Disassembler/SystemZ/insn-llgfr.txt new file mode 100644 index 00000000000..c68a6c9013c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llgfr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llgfr %r0, %r15 +0xb9 0x16 0x00 0x0f + +# CHECK: llgfr %r7, %r8 +0xb9 0x16 0x00 0x78 + +# CHECK: llgfr %r15, %r0 +0xb9 0x16 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-llgfrl.txt b/test/MC/Disassembler/SystemZ/insn-llgfrl.txt new file mode 100644 index 00000000000..908ae6d7386 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llgfrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llgfrl %r0, 0x0 +0xc4 0x0e 0x00 0x00 0x00 0x00 + +# CHECK: llgfrl %r15, 0x6 +0xc4 0xfe 0x00 0x00 0x00 0x00 + +# CHECK: llgfrl %r0, 0xa +0xc4 0x0e 0xff 0xff 0xff 0xff + +# CHECK: llgfrl %r15, 0x10 +0xc4 0xfe 0xff 0xff 0xff 0xff + +# CHECK: llgfrl %r0, 0xffffffff00000018 +0xc4 0x0e 0x80 0x00 0x00 0x00 + +# CHECK: llgfrl %r15, 0xffffffff0000001e +0xc4 0xfe 0x80 0x00 0x00 0x00 + +# CHECK: llgfrl %r0, 0x100000022 +0xc4 0x0e 0x7f 0xff 0xff 0xff + +# CHECK: llgfrl %r15, 0x100000028 +0xc4 0xfe 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-llgh.txt b/test/MC/Disassembler/SystemZ/insn-llgh.txt new file mode 100644 index 00000000000..7e64a55207f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llgh.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llgh %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x91 + +# CHECK: llgh %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x91 + +# CHECK: llgh %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x91 + +# CHECK: llgh %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x91 + +# CHECK: llgh %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x91 + +# CHECK: llgh %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x91 + +# CHECK: llgh %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x91 + +# CHECK: llgh %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x91 + +# CHECK: llgh %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x91 + +# CHECK: llgh %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x91 diff --git a/test/MC/Disassembler/SystemZ/insn-llghr.txt b/test/MC/Disassembler/SystemZ/insn-llghr.txt new file mode 100644 index 00000000000..ceed654b614 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llghr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llghr %r0, %r15 +0xb9 0x85 0x00 0x0f + +# CHECK: llghr %r7, %r8 +0xb9 0x85 0x00 0x78 + +# CHECK: llghr %r15, %r0 +0xb9 0x85 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-llghrl.txt b/test/MC/Disassembler/SystemZ/insn-llghrl.txt new file mode 100644 index 00000000000..0960afb7068 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llghrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llghrl %r0, 0x0 +0xc4 0x06 0x00 0x00 0x00 0x00 + +# CHECK: llghrl %r15, 0x6 +0xc4 0xf6 0x00 0x00 0x00 0x00 + +# CHECK: llghrl %r0, 0xa +0xc4 0x06 0xff 0xff 0xff 0xff + +# CHECK: llghrl %r15, 0x10 +0xc4 0xf6 0xff 0xff 0xff 0xff + +# CHECK: llghrl %r0, 0xffffffff00000018 +0xc4 0x06 0x80 0x00 0x00 0x00 + +# CHECK: llghrl %r15, 0xffffffff0000001e +0xc4 0xf6 0x80 0x00 0x00 0x00 + +# CHECK: llghrl %r0, 0x100000022 +0xc4 0x06 0x7f 0xff 0xff 0xff + +# CHECK: llghrl %r15, 0x100000028 +0xc4 0xf6 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-llh.txt b/test/MC/Disassembler/SystemZ/insn-llh.txt new file mode 100644 index 00000000000..6b660cb9007 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llh.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llh %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x95 + +# CHECK: llh %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x95 + +# CHECK: llh %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x95 + +# CHECK: llh %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x95 + +# CHECK: llh %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x95 + +# CHECK: llh %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x95 + +# CHECK: llh %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x95 + +# CHECK: llh %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x95 + +# CHECK: llh %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x95 + +# CHECK: llh %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x95 diff --git a/test/MC/Disassembler/SystemZ/insn-llhr.txt b/test/MC/Disassembler/SystemZ/insn-llhr.txt new file mode 100644 index 00000000000..c01eac25feb --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llhr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llhr %r0, %r15 +0xb9 0x95 0x00 0x0f + +# CHECK: llhr %r7, %r8 +0xb9 0x95 0x00 0x78 + +# CHECK: llhr %r15, %r0 +0xb9 0x95 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-llhrl.txt b/test/MC/Disassembler/SystemZ/insn-llhrl.txt new file mode 100644 index 00000000000..a8000ca233e --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llhrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llhrl %r0, 0x0 +0xc4 0x02 0x00 0x00 0x00 0x00 + +# CHECK: llhrl %r15, 0x6 +0xc4 0xf2 0x00 0x00 0x00 0x00 + +# CHECK: llhrl %r0, 0xa +0xc4 0x02 0xff 0xff 0xff 0xff + +# CHECK: llhrl %r15, 0x10 +0xc4 0xf2 0xff 0xff 0xff 0xff + +# CHECK: llhrl %r0, 0xffffffff00000018 +0xc4 0x02 0x80 0x00 0x00 0x00 + +# CHECK: llhrl %r15, 0xffffffff0000001e +0xc4 0xf2 0x80 0x00 0x00 0x00 + +# CHECK: llhrl %r0, 0x100000022 +0xc4 0x02 0x7f 0xff 0xff 0xff + +# CHECK: llhrl %r15, 0x100000028 +0xc4 0xf2 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-llihf.txt b/test/MC/Disassembler/SystemZ/insn-llihf.txt new file mode 100644 index 00000000000..64f58d3bd6c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llihf.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llihf %r0, 0 +0xc0 0x0e 0x00 0x00 0x00 0x00 + +# CHECK: llihf %r0, 4294967295 +0xc0 0x0e 0xff 0xff 0xff 0xff + +# CHECK: llihf %r15, 0 +0xc0 0xfe 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-llihh.txt b/test/MC/Disassembler/SystemZ/insn-llihh.txt new file mode 100644 index 00000000000..610ce8f67f9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llihh.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llihh %r0, 0 +0xa5 0x0c 0x00 0x00 + +# CHECK: llihh %r0, 32768 +0xa5 0x0c 0x80 0x00 + +# CHECK: llihh %r0, 65535 +0xa5 0x0c 0xff 0xff + +# CHECK: llihh %r15, 0 +0xa5 0xfc 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-llihl.txt b/test/MC/Disassembler/SystemZ/insn-llihl.txt new file mode 100644 index 00000000000..8de06f98fb1 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llihl.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llihl %r0, 0 +0xa5 0x0d 0x00 0x00 + +# CHECK: llihl %r0, 32768 +0xa5 0x0d 0x80 0x00 + +# CHECK: llihl %r0, 65535 +0xa5 0x0d 0xff 0xff + +# CHECK: llihl %r15, 0 +0xa5 0xfd 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-llilf.txt b/test/MC/Disassembler/SystemZ/insn-llilf.txt new file mode 100644 index 00000000000..008827ea40b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llilf.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llilf %r0, 0 +0xc0 0x0f 0x00 0x00 0x00 0x00 + +# CHECK: llilf %r0, 4294967295 +0xc0 0x0f 0xff 0xff 0xff 0xff + +# CHECK: llilf %r15, 0 +0xc0 0xff 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-llilh.txt b/test/MC/Disassembler/SystemZ/insn-llilh.txt new file mode 100644 index 00000000000..5b9336ad8b6 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llilh.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llilh %r0, 0 +0xa5 0x0e 0x00 0x00 + +# CHECK: llilh %r0, 32768 +0xa5 0x0e 0x80 0x00 + +# CHECK: llilh %r0, 65535 +0xa5 0x0e 0xff 0xff + +# CHECK: llilh %r15, 0 +0xa5 0xfe 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-llill.txt b/test/MC/Disassembler/SystemZ/insn-llill.txt new file mode 100644 index 00000000000..65c27dd48c9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-llill.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: llill %r0, 0 +0xa5 0x0f 0x00 0x00 + +# CHECK: llill %r0, 32768 +0xa5 0x0f 0x80 0x00 + +# CHECK: llill %r0, 65535 +0xa5 0x0f 0xff 0xff + +# CHECK: llill %r15, 0 +0xa5 0xff 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-lmg.txt b/test/MC/Disassembler/SystemZ/insn-lmg.txt new file mode 100644 index 00000000000..2a7599608c3 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lmg.txt @@ -0,0 +1,39 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lmg %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x04 + +# CHECK: lmg %r0, %r15, 0 +0xeb 0x0f 0x00 0x00 0x00 0x04 + +# CHECK: lmg %r14, %r15, 0 +0xeb 0xef 0x00 0x00 0x00 0x04 + +# CHECK: lmg %r15, %r15, 0 +0xeb 0xff 0x00 0x00 0x00 0x04 + +# CHECK: lmg %r0, %r0, -524288 +0xeb 0x00 0x00 0x00 0x80 0x04 + +# CHECK: lmg %r0, %r0, -1 +0xeb 0x00 0x0f 0xff 0xff 0x04 + +# CHECK: lmg %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x04 + +# CHECK: lmg %r0, %r0, 1 +0xeb 0x00 0x00 0x01 0x00 0x04 + +# CHECK: lmg %r0, %r0, 524287 +0xeb 0x00 0x0f 0xff 0x7f 0x04 + +# CHECK: lmg %r0, %r0, 0(%r1) +0xeb 0x00 0x10 0x00 0x00 0x04 + +# CHECK: lmg %r0, %r0, 0(%r15) +0xeb 0x00 0xf0 0x00 0x00 0x04 + +# CHECK: lmg %r0, %r0, 524287(%r1) +0xeb 0x00 0x1f 0xff 0x7f 0x04 + +# CHECK: lmg %r0, %r0, 524287(%r15) +0xeb 0x00 0xff 0xff 0x7f 0x04 diff --git a/test/MC/Disassembler/SystemZ/insn-lndbr.txt b/test/MC/Disassembler/SystemZ/insn-lndbr.txt new file mode 100644 index 00000000000..d3d727882ef --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lndbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lndbr %f0, %f9 +0xb3 0x11 0x00 0x09 + +# CHECK: lndbr %f0, %f15 +0xb3 0x11 0x00 0x0f + +# CHECK: lndbr %f15, %f0 +0xb3 0x11 0x00 0xf0 + +# CHECK: lndbr %f15, %f9 +0xb3 0x11 0x00 0xf9 diff --git a/test/MC/Disassembler/SystemZ/insn-lnebr.txt b/test/MC/Disassembler/SystemZ/insn-lnebr.txt new file mode 100644 index 00000000000..ee3925c83fc --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lnebr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lnebr %f0, %f9 +0xb3 0x01 0x00 0x09 + +# CHECK: lnebr %f0, %f15 +0xb3 0x01 0x00 0x0f + +# CHECK: lnebr %f15, %f0 +0xb3 0x01 0x00 0xf0 + +# CHECK: lnebr %f15, %f9 +0xb3 0x01 0x00 0xf9 diff --git a/test/MC/Disassembler/SystemZ/insn-lnxbr.txt b/test/MC/Disassembler/SystemZ/insn-lnxbr.txt new file mode 100644 index 00000000000..41f1c03eca9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lnxbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lnxbr %f0, %f8 +0xb3 0x41 0x00 0x08 + +# CHECK: lnxbr %f0, %f13 +0xb3 0x41 0x00 0x0d + +# CHECK: lnxbr %f13, %f0 +0xb3 0x41 0x00 0xd0 + +# CHECK: lnxbr %f13, %f9 +0xb3 0x41 0x00 0xd9 diff --git a/test/MC/Disassembler/SystemZ/insn-lpdbr.txt b/test/MC/Disassembler/SystemZ/insn-lpdbr.txt new file mode 100644 index 00000000000..1c1f05adf5f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lpdbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lpdbr %f0, %f9 +0xb3 0x10 0x00 0x09 + +# CHECK: lpdbr %f0, %f15 +0xb3 0x10 0x00 0x0f + +# CHECK: lpdbr %f15, %f0 +0xb3 0x10 0x00 0xf0 + +# CHECK: lpdbr %f15, %f9 +0xb3 0x10 0x00 0xf9 diff --git a/test/MC/Disassembler/SystemZ/insn-lpebr.txt b/test/MC/Disassembler/SystemZ/insn-lpebr.txt new file mode 100644 index 00000000000..ac324fef64e --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lpebr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lpebr %f0, %f9 +0xb3 0x00 0x00 0x09 + +# CHECK: lpebr %f0, %f15 +0xb3 0x00 0x00 0x0f + +# CHECK: lpebr %f15, %f0 +0xb3 0x00 0x00 0xf0 + +# CHECK: lpebr %f15, %f9 +0xb3 0x00 0x00 0xf9 diff --git a/test/MC/Disassembler/SystemZ/insn-lpxbr.txt b/test/MC/Disassembler/SystemZ/insn-lpxbr.txt new file mode 100644 index 00000000000..384e1d9301c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lpxbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lpxbr %f0, %f8 +0xb3 0x40 0x00 0x08 + +# CHECK: lpxbr %f0, %f13 +0xb3 0x40 0x00 0x0d + +# CHECK: lpxbr %f13, %f0 +0xb3 0x40 0x00 0xd0 + +# CHECK: lpxbr %f13, %f9 +0xb3 0x40 0x00 0xd9 diff --git a/test/MC/Disassembler/SystemZ/insn-lr.txt b/test/MC/Disassembler/SystemZ/insn-lr.txt new file mode 100644 index 00000000000..8e89d419755 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lr %r0, %r9 +0x18 0x09 + +# CHECK: lr %r0, %r15 +0x18 0x0f + +# CHECK: lr %r15, %r0 +0x18 0xf0 + +# CHECK: lr %r15, %r9 +0x18 0xf9 diff --git a/test/MC/Disassembler/SystemZ/insn-lrl.txt b/test/MC/Disassembler/SystemZ/insn-lrl.txt new file mode 100644 index 00000000000..b5ca391fe70 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lrl %r0, 0x0 +0xc4 0x0d 0x00 0x00 0x00 0x00 + +# CHECK: lrl %r15, 0x6 +0xc4 0xfd 0x00 0x00 0x00 0x00 + +# CHECK: lrl %r0, 0xa +0xc4 0x0d 0xff 0xff 0xff 0xff + +# CHECK: lrl %r15, 0x10 +0xc4 0xfd 0xff 0xff 0xff 0xff + +# CHECK: lrl %r0, 0xffffffff00000018 +0xc4 0x0d 0x80 0x00 0x00 0x00 + +# CHECK: lrl %r15, 0xffffffff0000001e +0xc4 0xfd 0x80 0x00 0x00 0x00 + +# CHECK: lrl %r0, 0x100000022 +0xc4 0x0d 0x7f 0xff 0xff 0xff + +# CHECK: lrl %r15, 0x100000028 +0xc4 0xfd 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-lrv.txt b/test/MC/Disassembler/SystemZ/insn-lrv.txt new file mode 100644 index 00000000000..30e497675a9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lrv.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lrv %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x1e + +# CHECK: lrv %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x1e + +# CHECK: lrv %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x1e + +# CHECK: lrv %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x1e + +# CHECK: lrv %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x1e + +# CHECK: lrv %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x1e + +# CHECK: lrv %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x1e + +# CHECK: lrv %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x1e + +# CHECK: lrv %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x1e + +# CHECK: lrv %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x1e diff --git a/test/MC/Disassembler/SystemZ/insn-lrvg.txt b/test/MC/Disassembler/SystemZ/insn-lrvg.txt new file mode 100644 index 00000000000..86b09136d3b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lrvg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lrvg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x0f + +# CHECK: lrvg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x0f + +# CHECK: lrvg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x0f + +# CHECK: lrvg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x0f + +# CHECK: lrvg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x0f + +# CHECK: lrvg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x0f + +# CHECK: lrvg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x0f + +# CHECK: lrvg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x0f + +# CHECK: lrvg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x0f + +# CHECK: lrvg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x0f diff --git a/test/MC/Disassembler/SystemZ/insn-lrvgr.txt b/test/MC/Disassembler/SystemZ/insn-lrvgr.txt new file mode 100644 index 00000000000..eda1b3c62e9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lrvgr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lrvgr %r0, %r0 +0xb9 0x0f 0x00 0x00 + +# CHECK: lrvgr %r0, %r15 +0xb9 0x0f 0x00 0x0f + +# CHECK: lrvgr %r15, %r0 +0xb9 0x0f 0x00 0xf0 + +# CHECK: lrvgr %r7, %r8 +0xb9 0x0f 0x00 0x78 + +# CHECK: lrvgr %r15, %r15 +0xb9 0x0f 0x00 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-lrvr.txt b/test/MC/Disassembler/SystemZ/insn-lrvr.txt new file mode 100644 index 00000000000..fc8a8e6012e --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lrvr.txt @@ -0,0 +1,15 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lrvr %r0, %r0 +0xb9 0x1f 0x00 0x00 + +# CHECK: lrvr %r0, %r15 +0xb9 0x1f 0x00 0x0f + +# CHECK: lrvr %r15, %r0 +0xb9 0x1f 0x00 0xf0 + +# CHECK: lrvr %r7, %r8 +0xb9 0x1f 0x00 0x78 + +# CHECK: lrvr %r15, %r15 +0xb9 0x1f 0x00 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-lxr.txt b/test/MC/Disassembler/SystemZ/insn-lxr.txt new file mode 100644 index 00000000000..bd989cd6b0e --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lxr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lxr %f0, %f8 +0xb3 0x65 0x00 0x08 + +# CHECK: lxr %f0, %f13 +0xb3 0x65 0x00 0x0d + +# CHECK: lxr %f13, %f0 +0xb3 0x65 0x00 0xd0 + +# CHECK: lxr %f13, %f9 +0xb3 0x65 0x00 0xd9 diff --git a/test/MC/Disassembler/SystemZ/insn-ly.txt b/test/MC/Disassembler/SystemZ/insn-ly.txt new file mode 100644 index 00000000000..b9112d72a9b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ly.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ly %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x58 + +# CHECK: ly %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x58 + +# CHECK: ly %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x58 + +# CHECK: ly %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x58 + +# CHECK: ly %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x58 + +# CHECK: ly %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x58 + +# CHECK: ly %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x58 + +# CHECK: ly %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x58 + +# CHECK: ly %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x58 + +# CHECK: ly %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x58 diff --git a/test/MC/Disassembler/SystemZ/insn-lzdr.txt b/test/MC/Disassembler/SystemZ/insn-lzdr.txt new file mode 100644 index 00000000000..5e64f355b83 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lzdr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lzdr %f0 +0xb3 0x75 0x00 0x00 + +# CHECK: lzdr %f7 +0xb3 0x75 0x00 0x70 + +# CHECK: lzdr %f15 +0xb3 0x75 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-lzer.txt b/test/MC/Disassembler/SystemZ/insn-lzer.txt new file mode 100644 index 00000000000..f86cb2efe37 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lzer.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lzer %f0 +0xb3 0x74 0x00 0x00 + +# CHECK: lzer %f7 +0xb3 0x74 0x00 0x70 + +# CHECK: lzer %f15 +0xb3 0x74 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-lzxr.txt b/test/MC/Disassembler/SystemZ/insn-lzxr.txt new file mode 100644 index 00000000000..f2e64445dfb --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-lzxr.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: lzxr %f0 +0xb3 0x76 0x00 0x00 + +# CHECK: lzxr %f8 +0xb3 0x76 0x00 0x80 + +# CHECK: lzxr %f13 +0xb3 0x76 0x00 0xd0 diff --git a/test/MC/Disassembler/SystemZ/insn-madb.txt b/test/MC/Disassembler/SystemZ/insn-madb.txt new file mode 100644 index 00000000000..bbc8e5ec940 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-madb.txt @@ -0,0 +1,27 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: madb %f0, %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x1e + +# CHECK: madb %f0, %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x1e + +# CHECK: madb %f0, %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x1e + +# CHECK: madb %f0, %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x1e + +# CHECK: madb %f0, %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x1e + +# CHECK: madb %f0, %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x1e + +# CHECK: madb %f0, %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x1e + +# CHECK: madb %f15, %f0, 0 +0xed 0x00 0x00 0x00 0xf0 0x1e + +# CHECK: madb %f15, %f15, 0 +0xed 0xf0 0x00 0x00 0xf0 0x1e diff --git a/test/MC/Disassembler/SystemZ/insn-madbr.txt b/test/MC/Disassembler/SystemZ/insn-madbr.txt new file mode 100644 index 00000000000..44c80acfff0 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-madbr.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: madbr %f0, %f0, %f0 +0xb3 0x1e 0x00 0x00 + +# CHECK: madbr %f0, %f0, %f15 +0xb3 0x1e 0x00 0x0f + +# CHECK: madbr %f0, %f15, %f0 +0xb3 0x1e 0x00 0xf0 + +# CHECK: madbr %f15, %f0, %f0 +0xb3 0x1e 0xf0 0x00 + +# CHECK: madbr %f7, %f8, %f9 +0xb3 0x1e 0x70 0x89 + +# CHECK: madbr %f15, %f15, %f15 +0xb3 0x1e 0xf0 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-maeb.txt b/test/MC/Disassembler/SystemZ/insn-maeb.txt new file mode 100644 index 00000000000..3da44d33993 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-maeb.txt @@ -0,0 +1,27 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: maeb %f0, %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x0e + +# CHECK: maeb %f0, %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x0e + +# CHECK: maeb %f0, %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x0e + +# CHECK: maeb %f0, %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x0e + +# CHECK: maeb %f0, %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x0e + +# CHECK: maeb %f0, %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x0e + +# CHECK: maeb %f0, %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x0e + +# CHECK: maeb %f15, %f0, 0 +0xed 0x00 0x00 0x00 0xf0 0x0e + +# CHECK: maeb %f15, %f15, 0 +0xed 0xf0 0x00 0x00 0xf0 0x0e diff --git a/test/MC/Disassembler/SystemZ/insn-maebr.txt b/test/MC/Disassembler/SystemZ/insn-maebr.txt new file mode 100644 index 00000000000..614c9ac26e7 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-maebr.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: maebr %f0, %f0, %f0 +0xb3 0x0e 0x00 0x00 + +# CHECK: maebr %f0, %f0, %f15 +0xb3 0x0e 0x00 0x0f + +# CHECK: maebr %f0, %f15, %f0 +0xb3 0x0e 0x00 0xf0 + +# CHECK: maebr %f15, %f0, %f0 +0xb3 0x0e 0xf0 0x00 + +# CHECK: maebr %f7, %f8, %f9 +0xb3 0x0e 0x70 0x89 + +# CHECK: maebr %f15, %f15, %f15 +0xb3 0x0e 0xf0 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-mdb.txt b/test/MC/Disassembler/SystemZ/insn-mdb.txt new file mode 100644 index 00000000000..69f030af9b9 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mdb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mdb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x1c + +# CHECK: mdb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x1c + +# CHECK: mdb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x1c + +# CHECK: mdb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x1c + +# CHECK: mdb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x1c + +# CHECK: mdb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x1c + +# CHECK: mdb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x1c diff --git a/test/MC/Disassembler/SystemZ/insn-mdbr.txt b/test/MC/Disassembler/SystemZ/insn-mdbr.txt new file mode 100644 index 00000000000..e5cef83df5a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mdbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mdbr %f0, %f0 +0xb3 0x1c 0x00 0x00 + +# CHECK: mdbr %f0, %f15 +0xb3 0x1c 0x00 0x0f + +# CHECK: mdbr %f7, %f8 +0xb3 0x1c 0x00 0x78 + +# CHECK: mdbr %f15, %f0 +0xb3 0x1c 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-mdeb.txt b/test/MC/Disassembler/SystemZ/insn-mdeb.txt new file mode 100644 index 00000000000..074ca7f285f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mdeb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mdeb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x0c + +# CHECK: mdeb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x0c + +# CHECK: mdeb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x0c + +# CHECK: mdeb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x0c + +# CHECK: mdeb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x0c + +# CHECK: mdeb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x0c + +# CHECK: mdeb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x0c diff --git a/test/MC/Disassembler/SystemZ/insn-mdebr.txt b/test/MC/Disassembler/SystemZ/insn-mdebr.txt new file mode 100644 index 00000000000..8503424c20a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mdebr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mdebr %f0, %f0 +0xb3 0x0c 0x00 0x00 + +# CHECK: mdebr %f0, %f15 +0xb3 0x0c 0x00 0x0f + +# CHECK: mdebr %f7, %f8 +0xb3 0x0c 0x00 0x78 + +# CHECK: mdebr %f15, %f0 +0xb3 0x0c 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-meeb.txt b/test/MC/Disassembler/SystemZ/insn-meeb.txt new file mode 100644 index 00000000000..f4dbf5fd234 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-meeb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: meeb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x17 + +# CHECK: meeb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x17 + +# CHECK: meeb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x17 + +# CHECK: meeb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x17 + +# CHECK: meeb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x17 + +# CHECK: meeb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x17 + +# CHECK: meeb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x17 diff --git a/test/MC/Disassembler/SystemZ/insn-meebr.txt b/test/MC/Disassembler/SystemZ/insn-meebr.txt new file mode 100644 index 00000000000..57f342b5fe2 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-meebr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: meebr %f0, %f0 +0xb3 0x17 0x00 0x00 + +# CHECK: meebr %f0, %f15 +0xb3 0x17 0x00 0x0f + +# CHECK: meebr %f7, %f8 +0xb3 0x17 0x00 0x78 + +# CHECK: meebr %f15, %f0 +0xb3 0x17 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-mghi.txt b/test/MC/Disassembler/SystemZ/insn-mghi.txt new file mode 100644 index 00000000000..42bb3166829 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mghi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mghi %r0, -32768 +0xa7 0x0d 0x80 0x00 + +# CHECK: mghi %r0, -1 +0xa7 0x0d 0xff 0xff + +# CHECK: mghi %r0, 0 +0xa7 0x0d 0x00 0x00 + +# CHECK: mghi %r0, 1 +0xa7 0x0d 0x00 0x01 + +# CHECK: mghi %r0, 32767 +0xa7 0x0d 0x7f 0xff + +# CHECK: mghi %r15, 0 +0xa7 0xfd 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-mh.txt b/test/MC/Disassembler/SystemZ/insn-mh.txt new file mode 100644 index 00000000000..d5ab3928c12 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mh.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mh %r0, 0 +0x4c 0x00 0x00 0x00 + +# CHECK: mh %r0, 4095 +0x4c 0x00 0x0f 0xff + +# CHECK: mh %r0, 0(%r1) +0x4c 0x00 0x10 0x00 + +# CHECK: mh %r0, 0(%r15) +0x4c 0x00 0xf0 0x00 + +# CHECK: mh %r0, 4095(%r1,%r15) +0x4c 0x01 0xff 0xff + +# CHECK: mh %r0, 4095(%r15,%r1) +0x4c 0x0f 0x1f 0xff + +# CHECK: mh %r15, 0 +0x4c 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-mhi.txt b/test/MC/Disassembler/SystemZ/insn-mhi.txt new file mode 100644 index 00000000000..b282683fbaa --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mhi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mhi %r0, -32768 +0xa7 0x0c 0x80 0x00 + +# CHECK: mhi %r0, -1 +0xa7 0x0c 0xff 0xff + +# CHECK: mhi %r0, 0 +0xa7 0x0c 0x00 0x00 + +# CHECK: mhi %r0, 1 +0xa7 0x0c 0x00 0x01 + +# CHECK: mhi %r0, 32767 +0xa7 0x0c 0x7f 0xff + +# CHECK: mhi %r15, 0 +0xa7 0xfc 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-mhy.txt b/test/MC/Disassembler/SystemZ/insn-mhy.txt new file mode 100644 index 00000000000..9279db17276 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mhy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mhy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x7c + +# CHECK: mhy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x7c + +# CHECK: mhy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x7c + +# CHECK: mhy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x7c + +# CHECK: mhy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x7c + +# CHECK: mhy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x7c + +# CHECK: mhy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x7c + +# CHECK: mhy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x7c + +# CHECK: mhy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x7c + +# CHECK: mhy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x7c diff --git a/test/MC/Disassembler/SystemZ/insn-mlg.txt b/test/MC/Disassembler/SystemZ/insn-mlg.txt new file mode 100644 index 00000000000..eeceecea8e5 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mlg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mlg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x86 + +# CHECK: mlg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x86 + +# CHECK: mlg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x86 + +# CHECK: mlg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x86 + +# CHECK: mlg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x86 + +# CHECK: mlg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x86 + +# CHECK: mlg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x86 + +# CHECK: mlg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x86 + +# CHECK: mlg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x86 + +# CHECK: mlg %r14, 0 +0xe3 0xe0 0x00 0x00 0x00 0x86 diff --git a/test/MC/Disassembler/SystemZ/insn-mlgr.txt b/test/MC/Disassembler/SystemZ/insn-mlgr.txt new file mode 100644 index 00000000000..ab7c2e5d056 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mlgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mlgr %r0, %r0 +0xb9 0x86 0x00 0x00 + +# CHECK: mlgr %r0, %r15 +0xb9 0x86 0x00 0x0f + +# CHECK: mlgr %r14, %r0 +0xb9 0x86 0x00 0xe0 + +# CHECK: mlgr %r6, %r9 +0xb9 0x86 0x00 0x69 diff --git a/test/MC/Disassembler/SystemZ/insn-ms.txt b/test/MC/Disassembler/SystemZ/insn-ms.txt new file mode 100644 index 00000000000..558f9cb8234 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ms.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ms %r0, 0 +0x71 0x00 0x00 0x00 + +# CHECK: ms %r0, 4095 +0x71 0x00 0x0f 0xff + +# CHECK: ms %r0, 0(%r1) +0x71 0x00 0x10 0x00 + +# CHECK: ms %r0, 0(%r15) +0x71 0x00 0xf0 0x00 + +# CHECK: ms %r0, 4095(%r1,%r15) +0x71 0x01 0xff 0xff + +# CHECK: ms %r0, 4095(%r15,%r1) +0x71 0x0f 0x1f 0xff + +# CHECK: ms %r15, 0 +0x71 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-msdb.txt b/test/MC/Disassembler/SystemZ/insn-msdb.txt new file mode 100644 index 00000000000..12e1e3ce643 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msdb.txt @@ -0,0 +1,27 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msdb %f0, %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x1f + +# CHECK: msdb %f0, %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x1f + +# CHECK: msdb %f0, %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x1f + +# CHECK: msdb %f0, %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x1f + +# CHECK: msdb %f0, %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x1f + +# CHECK: msdb %f0, %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x1f + +# CHECK: msdb %f0, %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x1f + +# CHECK: msdb %f15, %f0, 0 +0xed 0x00 0x00 0x00 0xf0 0x1f + +# CHECK: msdb %f15, %f15, 0 +0xed 0xf0 0x00 0x00 0xf0 0x1f diff --git a/test/MC/Disassembler/SystemZ/insn-msdbr.txt b/test/MC/Disassembler/SystemZ/insn-msdbr.txt new file mode 100644 index 00000000000..c24d23b4055 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msdbr.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msdbr %f0, %f0, %f0 +0xb3 0x1f 0x00 0x00 + +# CHECK: msdbr %f0, %f0, %f15 +0xb3 0x1f 0x00 0x0f + +# CHECK: msdbr %f0, %f15, %f0 +0xb3 0x1f 0x00 0xf0 + +# CHECK: msdbr %f15, %f0, %f0 +0xb3 0x1f 0xf0 0x00 + +# CHECK: msdbr %f7, %f8, %f9 +0xb3 0x1f 0x70 0x89 + +# CHECK: msdbr %f15, %f15, %f15 +0xb3 0x1f 0xf0 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-mseb.txt b/test/MC/Disassembler/SystemZ/insn-mseb.txt new file mode 100644 index 00000000000..f53cc7c44a5 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mseb.txt @@ -0,0 +1,27 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mseb %f0, %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x0f + +# CHECK: mseb %f0, %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x0f + +# CHECK: mseb %f0, %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x0f + +# CHECK: mseb %f0, %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x0f + +# CHECK: mseb %f0, %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x0f + +# CHECK: mseb %f0, %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x0f + +# CHECK: mseb %f0, %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x0f + +# CHECK: mseb %f15, %f0, 0 +0xed 0x00 0x00 0x00 0xf0 0x0f + +# CHECK: mseb %f15, %f15, 0 +0xed 0xf0 0x00 0x00 0xf0 0x0f diff --git a/test/MC/Disassembler/SystemZ/insn-msebr.txt b/test/MC/Disassembler/SystemZ/insn-msebr.txt new file mode 100644 index 00000000000..d157edcd241 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msebr.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msebr %f0, %f0, %f0 +0xb3 0x0f 0x00 0x00 + +# CHECK: msebr %f0, %f0, %f15 +0xb3 0x0f 0x00 0x0f + +# CHECK: msebr %f0, %f15, %f0 +0xb3 0x0f 0x00 0xf0 + +# CHECK: msebr %f15, %f0, %f0 +0xb3 0x0f 0xf0 0x00 + +# CHECK: msebr %f7, %f8, %f9 +0xb3 0x0f 0x70 0x89 + +# CHECK: msebr %f15, %f15, %f15 +0xb3 0x0f 0xf0 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-msfi.txt b/test/MC/Disassembler/SystemZ/insn-msfi.txt new file mode 100644 index 00000000000..9991f62f2fe --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msfi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msfi %r0, -2147483648 +0xc2 0x01 0x80 0x00 0x00 0x00 + +# CHECK: msfi %r0, -1 +0xc2 0x01 0xff 0xff 0xff 0xff + +# CHECK: msfi %r0, 0 +0xc2 0x01 0x00 0x00 0x00 0x00 + +# CHECK: msfi %r0, 1 +0xc2 0x01 0x00 0x00 0x00 0x01 + +# CHECK: msfi %r0, 2147483647 +0xc2 0x01 0x7f 0xff 0xff 0xff + +# CHECK: msfi %r15, 0 +0xc2 0xf1 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-msg.txt b/test/MC/Disassembler/SystemZ/insn-msg.txt new file mode 100644 index 00000000000..91854330994 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x0c + +# CHECK: msg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x0c + +# CHECK: msg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x0c + +# CHECK: msg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x0c + +# CHECK: msg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x0c + +# CHECK: msg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x0c + +# CHECK: msg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x0c + +# CHECK: msg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x0c + +# CHECK: msg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x0c + +# CHECK: msg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x0c diff --git a/test/MC/Disassembler/SystemZ/insn-msgf.txt b/test/MC/Disassembler/SystemZ/insn-msgf.txt new file mode 100644 index 00000000000..031922bcef7 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msgf.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msgf %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x1c + +# CHECK: msgf %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x1c + +# CHECK: msgf %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x1c + +# CHECK: msgf %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x1c + +# CHECK: msgf %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x1c + +# CHECK: msgf %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x1c + +# CHECK: msgf %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x1c + +# CHECK: msgf %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x1c + +# CHECK: msgf %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x1c + +# CHECK: msgf %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x1c diff --git a/test/MC/Disassembler/SystemZ/insn-msgfi.txt b/test/MC/Disassembler/SystemZ/insn-msgfi.txt new file mode 100644 index 00000000000..86300ef41b1 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msgfi.txt @@ -0,0 +1,18 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msgfi %r0, -2147483648 +0xc2 0x00 0x80 0x00 0x00 0x00 + +# CHECK: msgfi %r0, -1 +0xc2 0x00 0xff 0xff 0xff 0xff + +# CHECK: msgfi %r0, 0 +0xc2 0x00 0x00 0x00 0x00 0x00 + +# CHECK: msgfi %r0, 1 +0xc2 0x00 0x00 0x00 0x00 0x01 + +# CHECK: msgfi %r0, 2147483647 +0xc2 0x00 0x7f 0xff 0xff 0xff + +# CHECK: msgfi %r15, 0 +0xc2 0xf0 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-msgfr.txt b/test/MC/Disassembler/SystemZ/insn-msgfr.txt new file mode 100644 index 00000000000..028d36aea60 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msgfr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msgfr %r0, %r0 +0xb9 0x1c 0x00 0x00 + +# CHECK: msgfr %r0, %r15 +0xb9 0x1c 0x00 0x0f + +# CHECK: msgfr %r15, %r0 +0xb9 0x1c 0x00 0xf0 + +# CHECK: msgfr %r7, %r8 +0xb9 0x1c 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-msgr.txt b/test/MC/Disassembler/SystemZ/insn-msgr.txt new file mode 100644 index 00000000000..85c1e47892c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msgr %r0, %r0 +0xb9 0x0c 0x00 0x00 + +# CHECK: msgr %r0, %r15 +0xb9 0x0c 0x00 0x0f + +# CHECK: msgr %r15, %r0 +0xb9 0x0c 0x00 0xf0 + +# CHECK: msgr %r7, %r8 +0xb9 0x0c 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-msr.txt b/test/MC/Disassembler/SystemZ/insn-msr.txt new file mode 100644 index 00000000000..61a88a18bdf --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msr %r0, %r0 +0xb2 0x52 0x00 0x00 + +# CHECK: msr %r0, %r15 +0xb2 0x52 0x00 0x0f + +# CHECK: msr %r15, %r0 +0xb2 0x52 0x00 0xf0 + +# CHECK: msr %r7, %r8 +0xb2 0x52 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-msy.txt b/test/MC/Disassembler/SystemZ/insn-msy.txt new file mode 100644 index 00000000000..46524563beb --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-msy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: msy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x51 + +# CHECK: msy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x51 + +# CHECK: msy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x51 + +# CHECK: msy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x51 + +# CHECK: msy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x51 + +# CHECK: msy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x51 + +# CHECK: msy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x51 + +# CHECK: msy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x51 + +# CHECK: msy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x51 + +# CHECK: msy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x51 diff --git a/test/MC/Disassembler/SystemZ/insn-mvghi.txt b/test/MC/Disassembler/SystemZ/insn-mvghi.txt new file mode 100644 index 00000000000..c6abe4bf83b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mvghi.txt @@ -0,0 +1,33 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mvghi 0, 0 +0xe5 0x48 0x00 0x00 0x00 0x00 + +# CHECK: mvghi 4095, 0 +0xe5 0x48 0x0f 0xff 0x00 0x00 + +# CHECK: mvghi 0, -32768 +0xe5 0x48 0x00 0x00 0x80 0x00 + +# CHECK: mvghi 0, -1 +0xe5 0x48 0x00 0x00 0xff 0xff + +# CHECK: mvghi 0, 0 +0xe5 0x48 0x00 0x00 0x00 0x00 + +# CHECK: mvghi 0, 1 +0xe5 0x48 0x00 0x00 0x00 0x01 + +# CHECK: mvghi 0, 32767 +0xe5 0x48 0x00 0x00 0x7f 0xff + +# CHECK: mvghi 0(%r1), 42 +0xe5 0x48 0x10 0x00 0x00 0x2a + +# CHECK: mvghi 0(%r15), 42 +0xe5 0x48 0xf0 0x00 0x00 0x2a + +# CHECK: mvghi 4095(%r1), 42 +0xe5 0x48 0x1f 0xff 0x00 0x2a + +# CHECK: mvghi 4095(%r15), 42 +0xe5 0x48 0xff 0xff 0x00 0x2a diff --git a/test/MC/Disassembler/SystemZ/insn-mvhhi.txt b/test/MC/Disassembler/SystemZ/insn-mvhhi.txt new file mode 100644 index 00000000000..3ee6576da64 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mvhhi.txt @@ -0,0 +1,33 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mvhhi 0, 0 +0xe5 0x44 0x00 0x00 0x00 0x00 + +# CHECK: mvhhi 4095, 0 +0xe5 0x44 0x0f 0xff 0x00 0x00 + +# CHECK: mvhhi 0, -32768 +0xe5 0x44 0x00 0x00 0x80 0x00 + +# CHECK: mvhhi 0, -1 +0xe5 0x44 0x00 0x00 0xff 0xff + +# CHECK: mvhhi 0, 0 +0xe5 0x44 0x00 0x00 0x00 0x00 + +# CHECK: mvhhi 0, 1 +0xe5 0x44 0x00 0x00 0x00 0x01 + +# CHECK: mvhhi 0, 32767 +0xe5 0x44 0x00 0x00 0x7f 0xff + +# CHECK: mvhhi 0(%r1), 42 +0xe5 0x44 0x10 0x00 0x00 0x2a + +# CHECK: mvhhi 0(%r15), 42 +0xe5 0x44 0xf0 0x00 0x00 0x2a + +# CHECK: mvhhi 4095(%r1), 42 +0xe5 0x44 0x1f 0xff 0x00 0x2a + +# CHECK: mvhhi 4095(%r15), 42 +0xe5 0x44 0xff 0xff 0x00 0x2a diff --git a/test/MC/Disassembler/SystemZ/insn-mvhi.txt b/test/MC/Disassembler/SystemZ/insn-mvhi.txt new file mode 100644 index 00000000000..15ef24e7eb6 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mvhi.txt @@ -0,0 +1,33 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mvhi 0, 0 +0xe5 0x4c 0x00 0x00 0x00 0x00 + +# CHECK: mvhi 4095, 0 +0xe5 0x4c 0x0f 0xff 0x00 0x00 + +# CHECK: mvhi 0, -32768 +0xe5 0x4c 0x00 0x00 0x80 0x00 + +# CHECK: mvhi 0, -1 +0xe5 0x4c 0x00 0x00 0xff 0xff + +# CHECK: mvhi 0, 0 +0xe5 0x4c 0x00 0x00 0x00 0x00 + +# CHECK: mvhi 0, 1 +0xe5 0x4c 0x00 0x00 0x00 0x01 + +# CHECK: mvhi 0, 32767 +0xe5 0x4c 0x00 0x00 0x7f 0xff + +# CHECK: mvhi 0(%r1), 42 +0xe5 0x4c 0x10 0x00 0x00 0x2a + +# CHECK: mvhi 0(%r15), 42 +0xe5 0x4c 0xf0 0x00 0x00 0x2a + +# CHECK: mvhi 4095(%r1), 42 +0xe5 0x4c 0x1f 0xff 0x00 0x2a + +# CHECK: mvhi 4095(%r15), 42 +0xe5 0x4c 0xff 0xff 0x00 0x2a diff --git a/test/MC/Disassembler/SystemZ/insn-mvi.txt b/test/MC/Disassembler/SystemZ/insn-mvi.txt new file mode 100644 index 00000000000..f81a7455ebd --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mvi.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mvi 0, 0 +0x92 0x00 0x00 0x00 + +# CHECK: mvi 4095, 0 +0x92 0x00 0x0f 0xff + +# CHECK: mvi 0, 255 +0x92 0xff 0x00 0x00 + +# CHECK: mvi 0(%r1), 42 +0x92 0x2a 0x10 0x00 + +# CHECK: mvi 0(%r15), 42 +0x92 0x2a 0xf0 0x00 + +# CHECK: mvi 4095(%r1), 42 +0x92 0x2a 0x1f 0xff + +# CHECK: mvi 4095(%r15), 42 +0x92 0x2a 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-mviy.txt b/test/MC/Disassembler/SystemZ/insn-mviy.txt new file mode 100644 index 00000000000..ed249c7aa22 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mviy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mviy -524288, 0 +0xeb 0x00 0x00 0x00 0x80 0x52 + +# CHECK: mviy -1, 0 +0xeb 0x00 0x0f 0xff 0xff 0x52 + +# CHECK: mviy 0, 0 +0xeb 0x00 0x00 0x00 0x00 0x52 + +# CHECK: mviy 1, 0 +0xeb 0x00 0x00 0x01 0x00 0x52 + +# CHECK: mviy 524287, 0 +0xeb 0x00 0x0f 0xff 0x7f 0x52 + +# CHECK: mviy 0, 255 +0xeb 0xff 0x00 0x00 0x00 0x52 + +# CHECK: mviy 0(%r1), 42 +0xeb 0x2a 0x10 0x00 0x00 0x52 + +# CHECK: mviy 0(%r15), 42 +0xeb 0x2a 0xf0 0x00 0x00 0x52 + +# CHECK: mviy 524287(%r1), 42 +0xeb 0x2a 0x1f 0xff 0x7f 0x52 + +# CHECK: mviy 524287(%r15), 42 +0xeb 0x2a 0xff 0xff 0x7f 0x52 diff --git a/test/MC/Disassembler/SystemZ/insn-mxbr.txt b/test/MC/Disassembler/SystemZ/insn-mxbr.txt new file mode 100644 index 00000000000..acc30aae237 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mxbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mxbr %f0, %f0 +0xb3 0x4c 0x00 0x00 + +# CHECK: mxbr %f0, %f13 +0xb3 0x4c 0x00 0x0d + +# CHECK: mxbr %f8, %f5 +0xb3 0x4c 0x00 0x85 + +# CHECK: mxbr %f13, %f13 +0xb3 0x4c 0x00 0xdd diff --git a/test/MC/Disassembler/SystemZ/insn-mxdb.txt b/test/MC/Disassembler/SystemZ/insn-mxdb.txt new file mode 100644 index 00000000000..d355c48d5c1 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mxdb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mxdb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x07 + +# CHECK: mxdb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x07 + +# CHECK: mxdb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x07 + +# CHECK: mxdb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x07 + +# CHECK: mxdb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x07 + +# CHECK: mxdb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x07 + +# CHECK: mxdb %f13, 0 +0xed 0xd0 0x00 0x00 0x00 0x07 diff --git a/test/MC/Disassembler/SystemZ/insn-mxdbr.txt b/test/MC/Disassembler/SystemZ/insn-mxdbr.txt new file mode 100644 index 00000000000..1f3b6e30435 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-mxdbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: mxdbr %f0, %f0 +0xb3 0x07 0x00 0x00 + +# CHECK: mxdbr %f0, %f15 +0xb3 0x07 0x00 0x0f + +# CHECK: mxdbr %f8, %f8 +0xb3 0x07 0x00 0x88 + +# CHECK: mxdbr %f13, %f0 +0xb3 0x07 0x00 0xd0 diff --git a/test/MC/Disassembler/SystemZ/insn-n.txt b/test/MC/Disassembler/SystemZ/insn-n.txt new file mode 100644 index 00000000000..67e0746147a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-n.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: n %r0, 0 +0x54 0x00 0x00 0x00 + +# CHECK: n %r0, 4095 +0x54 0x00 0x0f 0xff + +# CHECK: n %r0, 0(%r1) +0x54 0x00 0x10 0x00 + +# CHECK: n %r0, 0(%r15) +0x54 0x00 0xf0 0x00 + +# CHECK: n %r0, 4095(%r1,%r15) +0x54 0x01 0xff 0xff + +# CHECK: n %r0, 4095(%r15,%r1) +0x54 0x0f 0x1f 0xff + +# CHECK: n %r15, 0 +0x54 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-ng.txt b/test/MC/Disassembler/SystemZ/insn-ng.txt new file mode 100644 index 00000000000..082c04b7a8a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ng.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ng %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x80 + +# CHECK: ng %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x80 + +# CHECK: ng %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x80 + +# CHECK: ng %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x80 + +# CHECK: ng %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x80 + +# CHECK: ng %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x80 + +# CHECK: ng %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x80 + +# CHECK: ng %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x80 + +# CHECK: ng %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x80 + +# CHECK: ng %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x80 diff --git a/test/MC/Disassembler/SystemZ/insn-ngr.txt b/test/MC/Disassembler/SystemZ/insn-ngr.txt new file mode 100644 index 00000000000..08e957e4ec0 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ngr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ngr %r0, %r0 +0xb9 0x80 0x00 0x00 + +# CHECK: ngr %r0, %r15 +0xb9 0x80 0x00 0x0f + +# CHECK: ngr %r15, %r0 +0xb9 0x80 0x00 0xf0 + +# CHECK: ngr %r7, %r8 +0xb9 0x80 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-ni.txt b/test/MC/Disassembler/SystemZ/insn-ni.txt new file mode 100644 index 00000000000..b90888d71ba --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ni.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ni 0, 0 +0x94 0x00 0x00 0x00 + +# CHECK: ni 4095, 0 +0x94 0x00 0x0f 0xff + +# CHECK: ni 0, 255 +0x94 0xff 0x00 0x00 + +# CHECK: ni 0(%r1), 42 +0x94 0x2a 0x10 0x00 + +# CHECK: ni 0(%r15), 42 +0x94 0x2a 0xf0 0x00 + +# CHECK: ni 4095(%r1), 42 +0x94 0x2a 0x1f 0xff + +# CHECK: ni 4095(%r15), 42 +0x94 0x2a 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-nihf.txt b/test/MC/Disassembler/SystemZ/insn-nihf.txt new file mode 100644 index 00000000000..ee91a7869a4 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-nihf.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: nihf %r0, 0 +0xc0 0x0a 0x00 0x00 0x00 0x00 + +# CHECK: nihf %r0, 4294967295 +0xc0 0x0a 0xff 0xff 0xff 0xff + +# CHECK: nihf %r15, 0 +0xc0 0xfa 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-nihh.txt b/test/MC/Disassembler/SystemZ/insn-nihh.txt new file mode 100644 index 00000000000..4036ff47489 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-nihh.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: nihh %r0, 0 +0xa5 0x04 0x00 0x00 + +# CHECK: nihh %r0, 32768 +0xa5 0x04 0x80 0x00 + +# CHECK: nihh %r0, 65535 +0xa5 0x04 0xff 0xff + +# CHECK: nihh %r15, 0 +0xa5 0xf4 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-nihl.txt b/test/MC/Disassembler/SystemZ/insn-nihl.txt new file mode 100644 index 00000000000..3cc72b9f4e7 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-nihl.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: nihl %r0, 0 +0xa5 0x05 0x00 0x00 + +# CHECK: nihl %r0, 32768 +0xa5 0x05 0x80 0x00 + +# CHECK: nihl %r0, 65535 +0xa5 0x05 0xff 0xff + +# CHECK: nihl %r15, 0 +0xa5 0xf5 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-nilf.txt b/test/MC/Disassembler/SystemZ/insn-nilf.txt new file mode 100644 index 00000000000..6ba3212fbe8 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-nilf.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: nilf %r0, 0 +0xc0 0x0b 0x00 0x00 0x00 0x00 + +# CHECK: nilf %r0, 4294967295 +0xc0 0x0b 0xff 0xff 0xff 0xff + +# CHECK: nilf %r15, 0 +0xc0 0xfb 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-nilh.txt b/test/MC/Disassembler/SystemZ/insn-nilh.txt new file mode 100644 index 00000000000..bda87c3c9c8 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-nilh.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: nilh %r0, 0 +0xa5 0x06 0x00 0x00 + +# CHECK: nilh %r0, 32768 +0xa5 0x06 0x80 0x00 + +# CHECK: nilh %r0, 65535 +0xa5 0x06 0xff 0xff + +# CHECK: nilh %r15, 0 +0xa5 0xf6 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-nill.txt b/test/MC/Disassembler/SystemZ/insn-nill.txt new file mode 100644 index 00000000000..e79984444ee --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-nill.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: nill %r0, 0 +0xa5 0x07 0x00 0x00 + +# CHECK: nill %r0, 32768 +0xa5 0x07 0x80 0x00 + +# CHECK: nill %r0, 65535 +0xa5 0x07 0xff 0xff + +# CHECK: nill %r15, 0 +0xa5 0xf7 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-niy.txt b/test/MC/Disassembler/SystemZ/insn-niy.txt new file mode 100644 index 00000000000..96767b45e44 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-niy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: niy -524288, 0 +0xeb 0x00 0x00 0x00 0x80 0x54 + +# CHECK: niy -1, 0 +0xeb 0x00 0x0f 0xff 0xff 0x54 + +# CHECK: niy 0, 0 +0xeb 0x00 0x00 0x00 0x00 0x54 + +# CHECK: niy 1, 0 +0xeb 0x00 0x00 0x01 0x00 0x54 + +# CHECK: niy 524287, 0 +0xeb 0x00 0x0f 0xff 0x7f 0x54 + +# CHECK: niy 0, 255 +0xeb 0xff 0x00 0x00 0x00 0x54 + +# CHECK: niy 0(%r1), 42 +0xeb 0x2a 0x10 0x00 0x00 0x54 + +# CHECK: niy 0(%r15), 42 +0xeb 0x2a 0xf0 0x00 0x00 0x54 + +# CHECK: niy 524287(%r1), 42 +0xeb 0x2a 0x1f 0xff 0x7f 0x54 + +# CHECK: niy 524287(%r15), 42 +0xeb 0x2a 0xff 0xff 0x7f 0x54 diff --git a/test/MC/Disassembler/SystemZ/insn-nr.txt b/test/MC/Disassembler/SystemZ/insn-nr.txt new file mode 100644 index 00000000000..af575136546 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-nr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: nr %r0, %r0 +0x14 0x00 + +# CHECK: nr %r0, %r15 +0x14 0x0f + +# CHECK: nr %r15, %r0 +0x14 0xf0 + +# CHECK: nr %r7, %r8 +0x14 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-ny.txt b/test/MC/Disassembler/SystemZ/insn-ny.txt new file mode 100644 index 00000000000..ac9d06c5bed --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ny.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ny %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x54 + +# CHECK: ny %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x54 + +# CHECK: ny %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x54 + +# CHECK: ny %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x54 + +# CHECK: ny %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x54 + +# CHECK: ny %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x54 + +# CHECK: ny %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x54 + +# CHECK: ny %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x54 + +# CHECK: ny %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x54 + +# CHECK: ny %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x54 diff --git a/test/MC/Disassembler/SystemZ/insn-o.txt b/test/MC/Disassembler/SystemZ/insn-o.txt new file mode 100644 index 00000000000..56d876ba6c5 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-o.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: o %r0, 0 +0x56 0x00 0x00 0x00 + +# CHECK: o %r0, 4095 +0x56 0x00 0x0f 0xff + +# CHECK: o %r0, 0(%r1) +0x56 0x00 0x10 0x00 + +# CHECK: o %r0, 0(%r15) +0x56 0x00 0xf0 0x00 + +# CHECK: o %r0, 4095(%r1,%r15) +0x56 0x01 0xff 0xff + +# CHECK: o %r0, 4095(%r15,%r1) +0x56 0x0f 0x1f 0xff + +# CHECK: o %r15, 0 +0x56 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-og.txt b/test/MC/Disassembler/SystemZ/insn-og.txt new file mode 100644 index 00000000000..6d7961a5562 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-og.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: og %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x81 + +# CHECK: og %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x81 + +# CHECK: og %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x81 + +# CHECK: og %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x81 + +# CHECK: og %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x81 + +# CHECK: og %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x81 + +# CHECK: og %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x81 + +# CHECK: og %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x81 + +# CHECK: og %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x81 + +# CHECK: og %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x81 diff --git a/test/MC/Disassembler/SystemZ/insn-ogr.txt b/test/MC/Disassembler/SystemZ/insn-ogr.txt new file mode 100644 index 00000000000..9f3f105d9a4 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ogr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ogr %r0, %r0 +0xb9 0x81 0x00 0x00 + +# CHECK: ogr %r0, %r15 +0xb9 0x81 0x00 0x0f + +# CHECK: ogr %r15, %r0 +0xb9 0x81 0x00 0xf0 + +# CHECK: ogr %r7, %r8 +0xb9 0x81 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-oi.txt b/test/MC/Disassembler/SystemZ/insn-oi.txt new file mode 100644 index 00000000000..daa3bb76ed1 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-oi.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: oi 0, 0 +0x96 0x00 0x00 0x00 + +# CHECK: oi 4095, 0 +0x96 0x00 0x0f 0xff + +# CHECK: oi 0, 255 +0x96 0xff 0x00 0x00 + +# CHECK: oi 0(%r1), 42 +0x96 0x2a 0x10 0x00 + +# CHECK: oi 0(%r15), 42 +0x96 0x2a 0xf0 0x00 + +# CHECK: oi 4095(%r1), 42 +0x96 0x2a 0x1f 0xff + +# CHECK: oi 4095(%r15), 42 +0x96 0x2a 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-oihf.txt b/test/MC/Disassembler/SystemZ/insn-oihf.txt new file mode 100644 index 00000000000..d481dabd7f2 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-oihf.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: oihf %r0, 0 +0xc0 0x0c 0x00 0x00 0x00 0x00 + +# CHECK: oihf %r0, 4294967295 +0xc0 0x0c 0xff 0xff 0xff 0xff + +# CHECK: oihf %r15, 0 +0xc0 0xfc 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-oihh.txt b/test/MC/Disassembler/SystemZ/insn-oihh.txt new file mode 100644 index 00000000000..a063ad322fc --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-oihh.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: oihh %r0, 0 +0xa5 0x08 0x00 0x00 + +# CHECK: oihh %r0, 32768 +0xa5 0x08 0x80 0x00 + +# CHECK: oihh %r0, 65535 +0xa5 0x08 0xff 0xff + +# CHECK: oihh %r15, 0 +0xa5 0xf8 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-oihl.txt b/test/MC/Disassembler/SystemZ/insn-oihl.txt new file mode 100644 index 00000000000..da762f30cec --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-oihl.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: oihl %r0, 0 +0xa5 0x09 0x00 0x00 + +# CHECK: oihl %r0, 32768 +0xa5 0x09 0x80 0x00 + +# CHECK: oihl %r0, 65535 +0xa5 0x09 0xff 0xff + +# CHECK: oihl %r15, 0 +0xa5 0xf9 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-oilf.txt b/test/MC/Disassembler/SystemZ/insn-oilf.txt new file mode 100644 index 00000000000..22dc79d1e7c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-oilf.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: oilf %r0, 0 +0xc0 0x0d 0x00 0x00 0x00 0x00 + +# CHECK: oilf %r0, 4294967295 +0xc0 0x0d 0xff 0xff 0xff 0xff + +# CHECK: oilf %r15, 0 +0xc0 0xfd 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-oilh.txt b/test/MC/Disassembler/SystemZ/insn-oilh.txt new file mode 100644 index 00000000000..ce3041c1fd2 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-oilh.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: oilh %r0, 0 +0xa5 0x0a 0x00 0x00 + +# CHECK: oilh %r0, 32768 +0xa5 0x0a 0x80 0x00 + +# CHECK: oilh %r0, 65535 +0xa5 0x0a 0xff 0xff + +# CHECK: oilh %r15, 0 +0xa5 0xfa 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-oill.txt b/test/MC/Disassembler/SystemZ/insn-oill.txt new file mode 100644 index 00000000000..34663a3f13e --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-oill.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: oill %r0, 0 +0xa5 0x0b 0x00 0x00 + +# CHECK: oill %r0, 32768 +0xa5 0x0b 0x80 0x00 + +# CHECK: oill %r0, 65535 +0xa5 0x0b 0xff 0xff + +# CHECK: oill %r15, 0 +0xa5 0xfb 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-oiy.txt b/test/MC/Disassembler/SystemZ/insn-oiy.txt new file mode 100644 index 00000000000..c56b2de3b7a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-oiy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: oiy -524288, 0 +0xeb 0x00 0x00 0x00 0x80 0x56 + +# CHECK: oiy -1, 0 +0xeb 0x00 0x0f 0xff 0xff 0x56 + +# CHECK: oiy 0, 0 +0xeb 0x00 0x00 0x00 0x00 0x56 + +# CHECK: oiy 1, 0 +0xeb 0x00 0x00 0x01 0x00 0x56 + +# CHECK: oiy 524287, 0 +0xeb 0x00 0x0f 0xff 0x7f 0x56 + +# CHECK: oiy 0, 255 +0xeb 0xff 0x00 0x00 0x00 0x56 + +# CHECK: oiy 0(%r1), 42 +0xeb 0x2a 0x10 0x00 0x00 0x56 + +# CHECK: oiy 0(%r15), 42 +0xeb 0x2a 0xf0 0x00 0x00 0x56 + +# CHECK: oiy 524287(%r1), 42 +0xeb 0x2a 0x1f 0xff 0x7f 0x56 + +# CHECK: oiy 524287(%r15), 42 +0xeb 0x2a 0xff 0xff 0x7f 0x56 diff --git a/test/MC/Disassembler/SystemZ/insn-or.txt b/test/MC/Disassembler/SystemZ/insn-or.txt new file mode 100644 index 00000000000..e79c6aa0384 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-or.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: or %r0, %r0 +0x16 0x00 + +# CHECK: or %r0, %r15 +0x16 0x0f + +# CHECK: or %r15, %r0 +0x16 0xf0 + +# CHECK: or %r7, %r8 +0x16 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-oy.txt b/test/MC/Disassembler/SystemZ/insn-oy.txt new file mode 100644 index 00000000000..a4ea8eda365 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-oy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: oy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x56 + +# CHECK: oy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x56 + +# CHECK: oy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x56 + +# CHECK: oy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x56 + +# CHECK: oy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x56 + +# CHECK: oy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x56 + +# CHECK: oy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x56 + +# CHECK: oy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x56 + +# CHECK: oy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x56 + +# CHECK: oy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x56 diff --git a/test/MC/Disassembler/SystemZ/insn-risbg.txt b/test/MC/Disassembler/SystemZ/insn-risbg.txt new file mode 100644 index 00000000000..b0bde8412e4 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-risbg.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: risbg %r0, %r0, 0, 0, 0 +0xec 0x00 0x00 0x00 0x00 0x55 + +# CHECK: risbg %r0, %r0, 0, 0, 63 +0xec 0x00 0x00 0x00 0x3f 0x55 + +# CHECK: risbg %r0, %r0, 0, 63, 0 +0xec 0x00 0x00 0x3f 0x00 0x55 + +# CHECK: risbg %r0, %r0, 63, 0, 0 +0xec 0x00 0x3f 0x00 0x00 0x55 + +# CHECK: risbg %r0, %r15, 0, 0, 0 +0xec 0x0f 0x00 0x00 0x00 0x55 + +# CHECK: risbg %r15, %r0, 0, 0, 0 +0xec 0xf0 0x00 0x00 0x00 0x55 + +# CHECK: risbg %r4, %r5, 6, 7, 8 +0xec 0x45 0x06 0x07 0x08 0x55 diff --git a/test/MC/Disassembler/SystemZ/insn-rll.txt b/test/MC/Disassembler/SystemZ/insn-rll.txt new file mode 100644 index 00000000000..97a09f8acef --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-rll.txt @@ -0,0 +1,36 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: rll %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x1d + +# CHECK: rll %r15, %r1, 0 +0xeb 0xf1 0x00 0x00 0x00 0x1d + +# CHECK: rll %r1, %r15, 0 +0xeb 0x1f 0x00 0x00 0x00 0x1d + +# CHECK: rll %r15, %r15, 0 +0xeb 0xff 0x00 0x00 0x00 0x1d + +# CHECK: rll %r0, %r0, -524288 +0xeb 0x00 0x00 0x00 0x80 0x1d + +# CHECK: rll %r0, %r0, -1 +0xeb 0x00 0x0f 0xff 0xff 0x1d + +# CHECK: rll %r0, %r0, 1 +0xeb 0x00 0x00 0x01 0x00 0x1d + +# CHECK: rll %r0, %r0, 524287 +0xeb 0x00 0x0f 0xff 0x7f 0x1d + +# CHECK: rll %r0, %r0, 0(%r1) +0xeb 0x00 0x10 0x00 0x00 0x1d + +# CHECK: rll %r0, %r0, 0(%r15) +0xeb 0x00 0xf0 0x00 0x00 0x1d + +# CHECK: rll %r0, %r0, 524287(%r1) +0xeb 0x00 0x1f 0xff 0x7f 0x1d + +# CHECK: rll %r0, %r0, 524287(%r15) +0xeb 0x00 0xff 0xff 0x7f 0x1d diff --git a/test/MC/Disassembler/SystemZ/insn-rllg.txt b/test/MC/Disassembler/SystemZ/insn-rllg.txt new file mode 100644 index 00000000000..65d273f3286 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-rllg.txt @@ -0,0 +1,36 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: rllg %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x1c + +# CHECK: rllg %r15, %r1, 0 +0xeb 0xf1 0x00 0x00 0x00 0x1c + +# CHECK: rllg %r1, %r15, 0 +0xeb 0x1f 0x00 0x00 0x00 0x1c + +# CHECK: rllg %r15, %r15, 0 +0xeb 0xff 0x00 0x00 0x00 0x1c + +# CHECK: rllg %r0, %r0, -524288 +0xeb 0x00 0x00 0x00 0x80 0x1c + +# CHECK: rllg %r0, %r0, -1 +0xeb 0x00 0x0f 0xff 0xff 0x1c + +# CHECK: rllg %r0, %r0, 1 +0xeb 0x00 0x00 0x01 0x00 0x1c + +# CHECK: rllg %r0, %r0, 524287 +0xeb 0x00 0x0f 0xff 0x7f 0x1c + +# CHECK: rllg %r0, %r0, 0(%r1) +0xeb 0x00 0x10 0x00 0x00 0x1c + +# CHECK: rllg %r0, %r0, 0(%r15) +0xeb 0x00 0xf0 0x00 0x00 0x1c + +# CHECK: rllg %r0, %r0, 524287(%r1) +0xeb 0x00 0x1f 0xff 0x7f 0x1c + +# CHECK: rllg %r0, %r0, 524287(%r15) +0xeb 0x00 0xff 0xff 0x7f 0x1c diff --git a/test/MC/Disassembler/SystemZ/insn-s.txt b/test/MC/Disassembler/SystemZ/insn-s.txt new file mode 100644 index 00000000000..8f61de1b3b1 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-s.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: s %r0, 0 +0x5b 0x00 0x00 0x00 + +# CHECK: s %r0, 4095 +0x5b 0x00 0x0f 0xff + +# CHECK: s %r0, 0(%r1) +0x5b 0x00 0x10 0x00 + +# CHECK: s %r0, 0(%r15) +0x5b 0x00 0xf0 0x00 + +# CHECK: s %r0, 4095(%r1,%r15) +0x5b 0x01 0xff 0xff + +# CHECK: s %r0, 4095(%r15,%r1) +0x5b 0x0f 0x1f 0xff + +# CHECK: s %r15, 0 +0x5b 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-sdb.txt b/test/MC/Disassembler/SystemZ/insn-sdb.txt new file mode 100644 index 00000000000..b310e6f16d7 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sdb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sdb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x1b + +# CHECK: sdb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x1b + +# CHECK: sdb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x1b + +# CHECK: sdb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x1b + +# CHECK: sdb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x1b + +# CHECK: sdb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x1b + +# CHECK: sdb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x1b diff --git a/test/MC/Disassembler/SystemZ/insn-sdbr.txt b/test/MC/Disassembler/SystemZ/insn-sdbr.txt new file mode 100644 index 00000000000..8722a32395a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sdbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sdbr %f0, %f0 +0xb3 0x1b 0x00 0x00 + +# CHECK: sdbr %f0, %f15 +0xb3 0x1b 0x00 0x0f + +# CHECK: sdbr %f7, %f8 +0xb3 0x1b 0x00 0x78 + +# CHECK: sdbr %f15, %f0 +0xb3 0x1b 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-seb.txt b/test/MC/Disassembler/SystemZ/insn-seb.txt new file mode 100644 index 00000000000..864f6920132 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-seb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: seb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x0b + +# CHECK: seb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x0b + +# CHECK: seb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x0b + +# CHECK: seb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x0b + +# CHECK: seb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x0b + +# CHECK: seb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x0b + +# CHECK: seb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x0b diff --git a/test/MC/Disassembler/SystemZ/insn-sebr.txt b/test/MC/Disassembler/SystemZ/insn-sebr.txt new file mode 100644 index 00000000000..289b0afa74c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sebr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sebr %f0, %f0 +0xb3 0x0b 0x00 0x00 + +# CHECK: sebr %f0, %f15 +0xb3 0x0b 0x00 0x0f + +# CHECK: sebr %f7, %f8 +0xb3 0x0b 0x00 0x78 + +# CHECK: sebr %f15, %f0 +0xb3 0x0b 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-sg.txt b/test/MC/Disassembler/SystemZ/insn-sg.txt new file mode 100644 index 00000000000..fdbf1ac60e8 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x09 + +# CHECK: sg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x09 + +# CHECK: sg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x09 + +# CHECK: sg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x09 + +# CHECK: sg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x09 + +# CHECK: sg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x09 + +# CHECK: sg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x09 + +# CHECK: sg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x09 + +# CHECK: sg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x09 + +# CHECK: sg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x09 diff --git a/test/MC/Disassembler/SystemZ/insn-sgf.txt b/test/MC/Disassembler/SystemZ/insn-sgf.txt new file mode 100644 index 00000000000..f8d6db946d8 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sgf.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sgf %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x19 + +# CHECK: sgf %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x19 + +# CHECK: sgf %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x19 + +# CHECK: sgf %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x19 + +# CHECK: sgf %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x19 + +# CHECK: sgf %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x19 + +# CHECK: sgf %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x19 + +# CHECK: sgf %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x19 + +# CHECK: sgf %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x19 + +# CHECK: sgf %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x19 diff --git a/test/MC/Disassembler/SystemZ/insn-sgfr.txt b/test/MC/Disassembler/SystemZ/insn-sgfr.txt new file mode 100644 index 00000000000..1d4f34ed1bb --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sgfr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sgfr %r0, %r0 +0xb9 0x19 0x00 0x00 + +# CHECK: sgfr %r0, %r15 +0xb9 0x19 0x00 0x0f + +# CHECK: sgfr %r15, %r0 +0xb9 0x19 0x00 0xf0 + +# CHECK: sgfr %r7, %r8 +0xb9 0x19 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-sgr.txt b/test/MC/Disassembler/SystemZ/insn-sgr.txt new file mode 100644 index 00000000000..084da973b27 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sgr %r0, %r0 +0xb9 0x09 0x00 0x00 + +# CHECK: sgr %r0, %r15 +0xb9 0x09 0x00 0x0f + +# CHECK: sgr %r15, %r0 +0xb9 0x09 0x00 0xf0 + +# CHECK: sgr %r7, %r8 +0xb9 0x09 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-sl.txt b/test/MC/Disassembler/SystemZ/insn-sl.txt new file mode 100644 index 00000000000..0a29f90f515 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sl.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sl %r0, 0 +0x5f 0x00 0x00 0x00 + +# CHECK: sl %r0, 4095 +0x5f 0x00 0x0f 0xff + +# CHECK: sl %r0, 0(%r1) +0x5f 0x00 0x10 0x00 + +# CHECK: sl %r0, 0(%r15) +0x5f 0x00 0xf0 0x00 + +# CHECK: sl %r0, 4095(%r1,%r15) +0x5f 0x01 0xff 0xff + +# CHECK: sl %r0, 4095(%r15,%r1) +0x5f 0x0f 0x1f 0xff + +# CHECK: sl %r15, 0 +0x5f 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-slb.txt b/test/MC/Disassembler/SystemZ/insn-slb.txt new file mode 100644 index 00000000000..b34a914540d --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slb.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slb %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x99 + +# CHECK: slb %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x99 + +# CHECK: slb %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x99 + +# CHECK: slb %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x99 + +# CHECK: slb %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x99 + +# CHECK: slb %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x99 + +# CHECK: slb %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x99 + +# CHECK: slb %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x99 + +# CHECK: slb %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x99 + +# CHECK: slb %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x99 diff --git a/test/MC/Disassembler/SystemZ/insn-slbg.txt b/test/MC/Disassembler/SystemZ/insn-slbg.txt new file mode 100644 index 00000000000..e9a918be1ce --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slbg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slbg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x89 + +# CHECK: slbg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x89 + +# CHECK: slbg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x89 + +# CHECK: slbg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x89 + +# CHECK: slbg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x89 + +# CHECK: slbg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x89 + +# CHECK: slbg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x89 + +# CHECK: slbg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x89 + +# CHECK: slbg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x89 + +# CHECK: slbg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x89 diff --git a/test/MC/Disassembler/SystemZ/insn-slbgr.txt b/test/MC/Disassembler/SystemZ/insn-slbgr.txt new file mode 100644 index 00000000000..4c4b77a98c3 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slbgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slbgr %r0, %r0 +0xb9 0x89 0x00 0x00 + +# CHECK: slbgr %r0, %r15 +0xb9 0x89 0x00 0x0f + +# CHECK: slbgr %r15, %r0 +0xb9 0x89 0x00 0xf0 + +# CHECK: slbgr %r7, %r8 +0xb9 0x89 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-slbr.txt b/test/MC/Disassembler/SystemZ/insn-slbr.txt new file mode 100644 index 00000000000..83d8cf913f2 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slbr %r0, %r0 +0xb9 0x99 0x00 0x00 + +# CHECK: slbr %r0, %r15 +0xb9 0x99 0x00 0x0f + +# CHECK: slbr %r15, %r0 +0xb9 0x99 0x00 0xf0 + +# CHECK: slbr %r7, %r8 +0xb9 0x99 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-slfi.txt b/test/MC/Disassembler/SystemZ/insn-slfi.txt new file mode 100644 index 00000000000..ae8f4237ec2 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slfi.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slfi %r0, 0 +0xc2 0x05 0x00 0x00 0x00 0x00 + +# CHECK: slfi %r0, 4294967295 +0xc2 0x05 0xff 0xff 0xff 0xff + +# CHECK: slfi %r15, 0 +0xc2 0xf5 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-slg.txt b/test/MC/Disassembler/SystemZ/insn-slg.txt new file mode 100644 index 00000000000..c93412e40e3 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x0b + +# CHECK: slg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x0b + +# CHECK: slg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x0b + +# CHECK: slg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x0b + +# CHECK: slg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x0b + +# CHECK: slg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x0b + +# CHECK: slg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x0b + +# CHECK: slg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x0b + +# CHECK: slg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x0b + +# CHECK: slg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x0b diff --git a/test/MC/Disassembler/SystemZ/insn-slgf.txt b/test/MC/Disassembler/SystemZ/insn-slgf.txt new file mode 100644 index 00000000000..088aac6c531 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slgf.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slgf %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x1b + +# CHECK: slgf %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x1b + +# CHECK: slgf %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x1b + +# CHECK: slgf %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x1b + +# CHECK: slgf %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x1b + +# CHECK: slgf %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x1b + +# CHECK: slgf %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x1b + +# CHECK: slgf %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x1b + +# CHECK: slgf %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x1b + +# CHECK: slgf %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x1b diff --git a/test/MC/Disassembler/SystemZ/insn-slgfi.txt b/test/MC/Disassembler/SystemZ/insn-slgfi.txt new file mode 100644 index 00000000000..e618210e7f6 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slgfi.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slgfi %r0, 0 +0xc2 0x04 0x00 0x00 0x00 0x00 + +# CHECK: slgfi %r0, 4294967295 +0xc2 0x04 0xff 0xff 0xff 0xff + +# CHECK: slgfi %r15, 0 +0xc2 0xf4 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-slgfr.txt b/test/MC/Disassembler/SystemZ/insn-slgfr.txt new file mode 100644 index 00000000000..4f881bf0f31 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slgfr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slgfr %r0, %r0 +0xb9 0x1b 0x00 0x00 + +# CHECK: slgfr %r0, %r15 +0xb9 0x1b 0x00 0x0f + +# CHECK: slgfr %r15, %r0 +0xb9 0x1b 0x00 0xf0 + +# CHECK: slgfr %r7, %r8 +0xb9 0x1b 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-slgr.txt b/test/MC/Disassembler/SystemZ/insn-slgr.txt new file mode 100644 index 00000000000..efea07b0c73 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slgr %r0, %r0 +0xb9 0x0b 0x00 0x00 + +# CHECK: slgr %r0, %r15 +0xb9 0x0b 0x00 0x0f + +# CHECK: slgr %r15, %r0 +0xb9 0x0b 0x00 0xf0 + +# CHECK: slgr %r7, %r8 +0xb9 0x0b 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-sll.txt b/test/MC/Disassembler/SystemZ/insn-sll.txt new file mode 100644 index 00000000000..a31b5c72410 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sll.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sll %r0, 0 +0x89 0x00 0x00 0x00 + +# CHECK: sll %r7, 0 +0x89 0x70 0x00 0x00 + +# CHECK: sll %r15, 0 +0x89 0xf0 0x00 0x00 + +# CHECK: sll %r0, 4095 +0x89 0x00 0x0f 0xff + +# CHECK: sll %r0, 0(%r1) +0x89 0x00 0x10 0x00 + +# CHECK: sll %r0, 0(%r15) +0x89 0x00 0xf0 0x00 + +# CHECK: sll %r0, 4095(%r1) +0x89 0x00 0x1f 0xff + +# CHECK: sll %r0, 4095(%r15) +0x89 0x00 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-sllg.txt b/test/MC/Disassembler/SystemZ/insn-sllg.txt new file mode 100644 index 00000000000..b4204ac88a8 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sllg.txt @@ -0,0 +1,36 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sllg %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x0d + +# CHECK: sllg %r15, %r1, 0 +0xeb 0xf1 0x00 0x00 0x00 0x0d + +# CHECK: sllg %r1, %r15, 0 +0xeb 0x1f 0x00 0x00 0x00 0x0d + +# CHECK: sllg %r15, %r15, 0 +0xeb 0xff 0x00 0x00 0x00 0x0d + +# CHECK: sllg %r0, %r0, -524288 +0xeb 0x00 0x00 0x00 0x80 0x0d + +# CHECK: sllg %r0, %r0, -1 +0xeb 0x00 0x0f 0xff 0xff 0x0d + +# CHECK: sllg %r0, %r0, 1 +0xeb 0x00 0x00 0x01 0x00 0x0d + +# CHECK: sllg %r0, %r0, 524287 +0xeb 0x00 0x0f 0xff 0x7f 0x0d + +# CHECK: sllg %r0, %r0, 0(%r1) +0xeb 0x00 0x10 0x00 0x00 0x0d + +# CHECK: sllg %r0, %r0, 0(%r15) +0xeb 0x00 0xf0 0x00 0x00 0x0d + +# CHECK: sllg %r0, %r0, 524287(%r1) +0xeb 0x00 0x1f 0xff 0x7f 0x0d + +# CHECK: sllg %r0, %r0, 524287(%r15) +0xeb 0x00 0xff 0xff 0x7f 0x0d diff --git a/test/MC/Disassembler/SystemZ/insn-slr.txt b/test/MC/Disassembler/SystemZ/insn-slr.txt new file mode 100644 index 00000000000..6a98744be69 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-slr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: slr %r0, %r0 +0x1f 0x00 + +# CHECK: slr %r0, %r15 +0x1f 0x0f + +# CHECK: slr %r15, %r0 +0x1f 0xf0 + +# CHECK: slr %r7, %r8 +0x1f 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-sly.txt b/test/MC/Disassembler/SystemZ/insn-sly.txt new file mode 100644 index 00000000000..a5e49261211 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sly.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sly %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x5f + +# CHECK: sly %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x5f + +# CHECK: sly %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x5f + +# CHECK: sly %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x5f + +# CHECK: sly %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x5f + +# CHECK: sly %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x5f + +# CHECK: sly %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x5f + +# CHECK: sly %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x5f + +# CHECK: sly %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x5f + +# CHECK: sly %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x5f diff --git a/test/MC/Disassembler/SystemZ/insn-sqdb.txt b/test/MC/Disassembler/SystemZ/insn-sqdb.txt new file mode 100644 index 00000000000..1e4aad45941 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sqdb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sqdb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x15 + +# CHECK: sqdb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x15 + +# CHECK: sqdb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x15 + +# CHECK: sqdb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x15 + +# CHECK: sqdb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x15 + +# CHECK: sqdb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x15 + +# CHECK: sqdb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x15 diff --git a/test/MC/Disassembler/SystemZ/insn-sqdbr.txt b/test/MC/Disassembler/SystemZ/insn-sqdbr.txt new file mode 100644 index 00000000000..3369e3267f7 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sqdbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sqdbr %f0, %f0 +0xb3 0x15 0x00 0x00 + +# CHECK: sqdbr %f0, %f15 +0xb3 0x15 0x00 0x0f + +# CHECK: sqdbr %f7, %f8 +0xb3 0x15 0x00 0x78 + +# CHECK: sqdbr %f15, %f0 +0xb3 0x15 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-sqeb.txt b/test/MC/Disassembler/SystemZ/insn-sqeb.txt new file mode 100644 index 00000000000..18541df6719 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sqeb.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sqeb %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x14 + +# CHECK: sqeb %f0, 4095 +0xed 0x00 0x0f 0xff 0x00 0x14 + +# CHECK: sqeb %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x14 + +# CHECK: sqeb %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x14 + +# CHECK: sqeb %f0, 4095(%r1,%r15) +0xed 0x01 0xff 0xff 0x00 0x14 + +# CHECK: sqeb %f0, 4095(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x00 0x14 + +# CHECK: sqeb %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x14 diff --git a/test/MC/Disassembler/SystemZ/insn-sqebr.txt b/test/MC/Disassembler/SystemZ/insn-sqebr.txt new file mode 100644 index 00000000000..38bafdea527 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sqebr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sqebr %f0, %f0 +0xb3 0x14 0x00 0x00 + +# CHECK: sqebr %f0, %f15 +0xb3 0x14 0x00 0x0f + +# CHECK: sqebr %f7, %f8 +0xb3 0x14 0x00 0x78 + +# CHECK: sqebr %f15, %f0 +0xb3 0x14 0x00 0xf0 diff --git a/test/MC/Disassembler/SystemZ/insn-sqxbr.txt b/test/MC/Disassembler/SystemZ/insn-sqxbr.txt new file mode 100644 index 00000000000..19fb61d1167 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sqxbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sqxbr %f0, %f0 +0xb3 0x16 0x00 0x00 + +# CHECK: sqxbr %f0, %f13 +0xb3 0x16 0x00 0x0d + +# CHECK: sqxbr %f8, %f8 +0xb3 0x16 0x00 0x88 + +# CHECK: sqxbr %f13, %f0 +0xb3 0x16 0x00 0xd0 diff --git a/test/MC/Disassembler/SystemZ/insn-sr.txt b/test/MC/Disassembler/SystemZ/insn-sr.txt new file mode 100644 index 00000000000..e871d97d503 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sr %r0, %r0 +0x1b 0x00 + +# CHECK: sr %r0, %r15 +0x1b 0x0f + +# CHECK: sr %r15, %r0 +0x1b 0xf0 + +# CHECK: sr %r7, %r8 +0x1b 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-sra.txt b/test/MC/Disassembler/SystemZ/insn-sra.txt new file mode 100644 index 00000000000..796b9097ff2 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sra.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sra %r0, 0 +0x8a 0x00 0x00 0x00 + +# CHECK: sra %r7, 0 +0x8a 0x70 0x00 0x00 + +# CHECK: sra %r15, 0 +0x8a 0xf0 0x00 0x00 + +# CHECK: sra %r0, 4095 +0x8a 0x00 0x0f 0xff + +# CHECK: sra %r0, 0(%r1) +0x8a 0x00 0x10 0x00 + +# CHECK: sra %r0, 0(%r15) +0x8a 0x00 0xf0 0x00 + +# CHECK: sra %r0, 4095(%r1) +0x8a 0x00 0x1f 0xff + +# CHECK: sra %r0, 4095(%r15) +0x8a 0x00 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-srag.txt b/test/MC/Disassembler/SystemZ/insn-srag.txt new file mode 100644 index 00000000000..38afa43c8fc --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-srag.txt @@ -0,0 +1,36 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: srag %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x0a + +# CHECK: srag %r15, %r1, 0 +0xeb 0xf1 0x00 0x00 0x00 0x0a + +# CHECK: srag %r1, %r15, 0 +0xeb 0x1f 0x00 0x00 0x00 0x0a + +# CHECK: srag %r15, %r15, 0 +0xeb 0xff 0x00 0x00 0x00 0x0a + +# CHECK: srag %r0, %r0, -524288 +0xeb 0x00 0x00 0x00 0x80 0x0a + +# CHECK: srag %r0, %r0, -1 +0xeb 0x00 0x0f 0xff 0xff 0x0a + +# CHECK: srag %r0, %r0, 1 +0xeb 0x00 0x00 0x01 0x00 0x0a + +# CHECK: srag %r0, %r0, 524287 +0xeb 0x00 0x0f 0xff 0x7f 0x0a + +# CHECK: srag %r0, %r0, 0(%r1) +0xeb 0x00 0x10 0x00 0x00 0x0a + +# CHECK: srag %r0, %r0, 0(%r15) +0xeb 0x00 0xf0 0x00 0x00 0x0a + +# CHECK: srag %r0, %r0, 524287(%r1) +0xeb 0x00 0x1f 0xff 0x7f 0x0a + +# CHECK: srag %r0, %r0, 524287(%r15) +0xeb 0x00 0xff 0xff 0x7f 0x0a diff --git a/test/MC/Disassembler/SystemZ/insn-srl.txt b/test/MC/Disassembler/SystemZ/insn-srl.txt new file mode 100644 index 00000000000..c1c500ba92a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-srl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: srl %r0, 0 +0x88 0x00 0x00 0x00 + +# CHECK: srl %r7, 0 +0x88 0x70 0x00 0x00 + +# CHECK: srl %r15, 0 +0x88 0xf0 0x00 0x00 + +# CHECK: srl %r0, 4095 +0x88 0x00 0x0f 0xff + +# CHECK: srl %r0, 0(%r1) +0x88 0x00 0x10 0x00 + +# CHECK: srl %r0, 0(%r15) +0x88 0x00 0xf0 0x00 + +# CHECK: srl %r0, 4095(%r1) +0x88 0x00 0x1f 0xff + +# CHECK: srl %r0, 4095(%r15) +0x88 0x00 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-srlg.txt b/test/MC/Disassembler/SystemZ/insn-srlg.txt new file mode 100644 index 00000000000..84cf9683258 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-srlg.txt @@ -0,0 +1,36 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: srlg %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x0c + +# CHECK: srlg %r15, %r1, 0 +0xeb 0xf1 0x00 0x00 0x00 0x0c + +# CHECK: srlg %r1, %r15, 0 +0xeb 0x1f 0x00 0x00 0x00 0x0c + +# CHECK: srlg %r15, %r15, 0 +0xeb 0xff 0x00 0x00 0x00 0x0c + +# CHECK: srlg %r0, %r0, -524288 +0xeb 0x00 0x00 0x00 0x80 0x0c + +# CHECK: srlg %r0, %r0, -1 +0xeb 0x00 0x0f 0xff 0xff 0x0c + +# CHECK: srlg %r0, %r0, 1 +0xeb 0x00 0x00 0x01 0x00 0x0c + +# CHECK: srlg %r0, %r0, 524287 +0xeb 0x00 0x0f 0xff 0x7f 0x0c + +# CHECK: srlg %r0, %r0, 0(%r1) +0xeb 0x00 0x10 0x00 0x00 0x0c + +# CHECK: srlg %r0, %r0, 0(%r15) +0xeb 0x00 0xf0 0x00 0x00 0x0c + +# CHECK: srlg %r0, %r0, 524287(%r1) +0xeb 0x00 0x1f 0xff 0x7f 0x0c + +# CHECK: srlg %r0, %r0, 524287(%r15) +0xeb 0x00 0xff 0xff 0x7f 0x0c diff --git a/test/MC/Disassembler/SystemZ/insn-st.txt b/test/MC/Disassembler/SystemZ/insn-st.txt new file mode 100644 index 00000000000..3fcc391aac3 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-st.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: st %r0, 0 +0x50 0x00 0x00 0x00 + +# CHECK: st %r0, 4095 +0x50 0x00 0x0f 0xff + +# CHECK: st %r0, 0(%r1) +0x50 0x00 0x10 0x00 + +# CHECK: st %r0, 0(%r15) +0x50 0x00 0xf0 0x00 + +# CHECK: st %r0, 4095(%r1,%r15) +0x50 0x01 0xff 0xff + +# CHECK: st %r0, 4095(%r15,%r1) +0x50 0x0f 0x1f 0xff + +# CHECK: st %r15, 0 +0x50 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-stc.txt b/test/MC/Disassembler/SystemZ/insn-stc.txt new file mode 100644 index 00000000000..20cc3492598 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-stc.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: stc %r0, 0 +0x42 0x00 0x00 0x00 + +# CHECK: stc %r0, 4095 +0x42 0x00 0x0f 0xff + +# CHECK: stc %r0, 0(%r1) +0x42 0x00 0x10 0x00 + +# CHECK: stc %r0, 0(%r15) +0x42 0x00 0xf0 0x00 + +# CHECK: stc %r0, 4095(%r1,%r15) +0x42 0x01 0xff 0xff + +# CHECK: stc %r0, 4095(%r15,%r1) +0x42 0x0f 0x1f 0xff + +# CHECK: stc %r15, 0 +0x42 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-stcy.txt b/test/MC/Disassembler/SystemZ/insn-stcy.txt new file mode 100644 index 00000000000..8d4f4193386 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-stcy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: stcy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x72 + +# CHECK: stcy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x72 + +# CHECK: stcy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x72 + +# CHECK: stcy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x72 + +# CHECK: stcy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x72 + +# CHECK: stcy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x72 + +# CHECK: stcy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x72 + +# CHECK: stcy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x72 + +# CHECK: stcy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x72 + +# CHECK: stcy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x72 diff --git a/test/MC/Disassembler/SystemZ/insn-std.txt b/test/MC/Disassembler/SystemZ/insn-std.txt new file mode 100644 index 00000000000..7a455833b92 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-std.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: std %f0, 0 +0x60 0x00 0x00 0x00 + +# CHECK: std %f0, 4095 +0x60 0x00 0x0f 0xff + +# CHECK: std %f0, 0(%r1) +0x60 0x00 0x10 0x00 + +# CHECK: std %f0, 0(%r15) +0x60 0x00 0xf0 0x00 + +# CHECK: std %f0, 4095(%r1,%r15) +0x60 0x01 0xff 0xff + +# CHECK: std %f0, 4095(%r15,%r1) +0x60 0x0f 0x1f 0xff + +# CHECK: std %f15, 0 +0x60 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-stdy.txt b/test/MC/Disassembler/SystemZ/insn-stdy.txt new file mode 100644 index 00000000000..c414c868c01 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-stdy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: stdy %f0, -524288 +0xed 0x00 0x00 0x00 0x80 0x67 + +# CHECK: stdy %f0, -1 +0xed 0x00 0x0f 0xff 0xff 0x67 + +# CHECK: stdy %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x67 + +# CHECK: stdy %f0, 1 +0xed 0x00 0x00 0x01 0x00 0x67 + +# CHECK: stdy %f0, 524287 +0xed 0x00 0x0f 0xff 0x7f 0x67 + +# CHECK: stdy %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x67 + +# CHECK: stdy %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x67 + +# CHECK: stdy %f0, 524287(%r1,%r15) +0xed 0x01 0xff 0xff 0x7f 0x67 + +# CHECK: stdy %f0, 524287(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x7f 0x67 + +# CHECK: stdy %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x67 diff --git a/test/MC/Disassembler/SystemZ/insn-ste.txt b/test/MC/Disassembler/SystemZ/insn-ste.txt new file mode 100644 index 00000000000..2ae3ede1719 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-ste.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: ste %f0, 0 +0x70 0x00 0x00 0x00 + +# CHECK: ste %f0, 4095 +0x70 0x00 0x0f 0xff + +# CHECK: ste %f0, 0(%r1) +0x70 0x00 0x10 0x00 + +# CHECK: ste %f0, 0(%r15) +0x70 0x00 0xf0 0x00 + +# CHECK: ste %f0, 4095(%r1,%r15) +0x70 0x01 0xff 0xff + +# CHECK: ste %f0, 4095(%r15,%r1) +0x70 0x0f 0x1f 0xff + +# CHECK: ste %f15, 0 +0x70 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-stey.txt b/test/MC/Disassembler/SystemZ/insn-stey.txt new file mode 100644 index 00000000000..f9f0c93bb00 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-stey.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: stey %f0, -524288 +0xed 0x00 0x00 0x00 0x80 0x66 + +# CHECK: stey %f0, -1 +0xed 0x00 0x0f 0xff 0xff 0x66 + +# CHECK: stey %f0, 0 +0xed 0x00 0x00 0x00 0x00 0x66 + +# CHECK: stey %f0, 1 +0xed 0x00 0x00 0x01 0x00 0x66 + +# CHECK: stey %f0, 524287 +0xed 0x00 0x0f 0xff 0x7f 0x66 + +# CHECK: stey %f0, 0(%r1) +0xed 0x00 0x10 0x00 0x00 0x66 + +# CHECK: stey %f0, 0(%r15) +0xed 0x00 0xf0 0x00 0x00 0x66 + +# CHECK: stey %f0, 524287(%r1,%r15) +0xed 0x01 0xff 0xff 0x7f 0x66 + +# CHECK: stey %f0, 524287(%r15,%r1) +0xed 0x0f 0x1f 0xff 0x7f 0x66 + +# CHECK: stey %f15, 0 +0xed 0xf0 0x00 0x00 0x00 0x66 diff --git a/test/MC/Disassembler/SystemZ/insn-stg.txt b/test/MC/Disassembler/SystemZ/insn-stg.txt new file mode 100644 index 00000000000..6aca5c8311d --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-stg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: stg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x24 + +# CHECK: stg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x24 + +# CHECK: stg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x24 + +# CHECK: stg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x24 + +# CHECK: stg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x24 + +# CHECK: stg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x24 + +# CHECK: stg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x24 + +# CHECK: stg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x24 + +# CHECK: stg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x24 + +# CHECK: stg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x24 diff --git a/test/MC/Disassembler/SystemZ/insn-stgrl.txt b/test/MC/Disassembler/SystemZ/insn-stgrl.txt new file mode 100644 index 00000000000..599fdb99543 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-stgrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: stgrl %r0, 0x0 +0xc4 0x0b 0x00 0x00 0x00 0x00 + +# CHECK: stgrl %r15, 0x6 +0xc4 0xfb 0x00 0x00 0x00 0x00 + +# CHECK: stgrl %r0, 0xa +0xc4 0x0b 0xff 0xff 0xff 0xff + +# CHECK: stgrl %r15, 0x10 +0xc4 0xfb 0xff 0xff 0xff 0xff + +# CHECK: stgrl %r0, 0xffffffff00000018 +0xc4 0x0b 0x80 0x00 0x00 0x00 + +# CHECK: stgrl %r15, 0xffffffff0000001e +0xc4 0xfb 0x80 0x00 0x00 0x00 + +# CHECK: stgrl %r0, 0x100000022 +0xc4 0x0b 0x7f 0xff 0xff 0xff + +# CHECK: stgrl %r15, 0x100000028 +0xc4 0xfb 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-sth.txt b/test/MC/Disassembler/SystemZ/insn-sth.txt new file mode 100644 index 00000000000..448a0a88f73 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sth.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sth %r0, 0 +0x40 0x00 0x00 0x00 + +# CHECK: sth %r0, 4095 +0x40 0x00 0x0f 0xff + +# CHECK: sth %r0, 0(%r1) +0x40 0x00 0x10 0x00 + +# CHECK: sth %r0, 0(%r15) +0x40 0x00 0xf0 0x00 + +# CHECK: sth %r0, 4095(%r1,%r15) +0x40 0x01 0xff 0xff + +# CHECK: sth %r0, 4095(%r15,%r1) +0x40 0x0f 0x1f 0xff + +# CHECK: sth %r15, 0 +0x40 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-sthrl.txt b/test/MC/Disassembler/SystemZ/insn-sthrl.txt new file mode 100644 index 00000000000..544ac0cfae8 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sthrl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sthrl %r0, 0x0 +0xc4 0x07 0x00 0x00 0x00 0x00 + +# CHECK: sthrl %r15, 0x6 +0xc4 0xf7 0x00 0x00 0x00 0x00 + +# CHECK: sthrl %r0, 0xa +0xc4 0x07 0xff 0xff 0xff 0xff + +# CHECK: sthrl %r15, 0x10 +0xc4 0xf7 0xff 0xff 0xff 0xff + +# CHECK: sthrl %r0, 0xffffffff00000018 +0xc4 0x07 0x80 0x00 0x00 0x00 + +# CHECK: sthrl %r15, 0xffffffff0000001e +0xc4 0xf7 0x80 0x00 0x00 0x00 + +# CHECK: sthrl %r0, 0x100000022 +0xc4 0x07 0x7f 0xff 0xff 0xff + +# CHECK: sthrl %r15, 0x100000028 +0xc4 0xf7 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-sthy.txt b/test/MC/Disassembler/SystemZ/insn-sthy.txt new file mode 100644 index 00000000000..d3b2e49b9cc --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sthy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sthy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x70 + +# CHECK: sthy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x70 + +# CHECK: sthy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x70 + +# CHECK: sthy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x70 + +# CHECK: sthy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x70 + +# CHECK: sthy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x70 + +# CHECK: sthy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x70 + +# CHECK: sthy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x70 + +# CHECK: sthy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x70 + +# CHECK: sthy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x70 diff --git a/test/MC/Disassembler/SystemZ/insn-stmg.txt b/test/MC/Disassembler/SystemZ/insn-stmg.txt new file mode 100644 index 00000000000..33184631b8f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-stmg.txt @@ -0,0 +1,39 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: stmg %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x24 + +# CHECK: stmg %r0, %r15, 0 +0xeb 0x0f 0x00 0x00 0x00 0x24 + +# CHECK: stmg %r14, %r15, 0 +0xeb 0xef 0x00 0x00 0x00 0x24 + +# CHECK: stmg %r15, %r15, 0 +0xeb 0xff 0x00 0x00 0x00 0x24 + +# CHECK: stmg %r0, %r0, -524288 +0xeb 0x00 0x00 0x00 0x80 0x24 + +# CHECK: stmg %r0, %r0, -1 +0xeb 0x00 0x0f 0xff 0xff 0x24 + +# CHECK: stmg %r0, %r0, 0 +0xeb 0x00 0x00 0x00 0x00 0x24 + +# CHECK: stmg %r0, %r0, 1 +0xeb 0x00 0x00 0x01 0x00 0x24 + +# CHECK: stmg %r0, %r0, 524287 +0xeb 0x00 0x0f 0xff 0x7f 0x24 + +# CHECK: stmg %r0, %r0, 0(%r1) +0xeb 0x00 0x10 0x00 0x00 0x24 + +# CHECK: stmg %r0, %r0, 0(%r15) +0xeb 0x00 0xf0 0x00 0x00 0x24 + +# CHECK: stmg %r0, %r0, 524287(%r1) +0xeb 0x00 0x1f 0xff 0x7f 0x24 + +# CHECK: stmg %r0, %r0, 524287(%r15) +0xeb 0x00 0xff 0xff 0x7f 0x24 diff --git a/test/MC/Disassembler/SystemZ/insn-strl.txt b/test/MC/Disassembler/SystemZ/insn-strl.txt new file mode 100644 index 00000000000..0468d3a262e --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-strl.txt @@ -0,0 +1,24 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: strl %r0, 0x0 +0xc4 0x0f 0x00 0x00 0x00 0x00 + +# CHECK: strl %r15, 0x6 +0xc4 0xff 0x00 0x00 0x00 0x00 + +# CHECK: strl %r0, 0xa +0xc4 0x0f 0xff 0xff 0xff 0xff + +# CHECK: strl %r15, 0x10 +0xc4 0xff 0xff 0xff 0xff 0xff + +# CHECK: strl %r0, 0xffffffff00000018 +0xc4 0x0f 0x80 0x00 0x00 0x00 + +# CHECK: strl %r15, 0xffffffff0000001e +0xc4 0xff 0x80 0x00 0x00 0x00 + +# CHECK: strl %r0, 0x100000022 +0xc4 0x0f 0x7f 0xff 0xff 0xff + +# CHECK: strl %r15, 0x100000028 +0xc4 0xff 0x7f 0xff 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-strv.txt b/test/MC/Disassembler/SystemZ/insn-strv.txt new file mode 100644 index 00000000000..d9629ea5736 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-strv.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: strv %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x3e + +# CHECK: strv %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x3e + +# CHECK: strv %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x3e + +# CHECK: strv %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x3e + +# CHECK: strv %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x3e + +# CHECK: strv %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x3e + +# CHECK: strv %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x3e + +# CHECK: strv %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x3e + +# CHECK: strv %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x3e + +# CHECK: strv %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x3e diff --git a/test/MC/Disassembler/SystemZ/insn-strvg.txt b/test/MC/Disassembler/SystemZ/insn-strvg.txt new file mode 100644 index 00000000000..43cfc010401 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-strvg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: strvg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x2f + +# CHECK: strvg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x2f + +# CHECK: strvg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x2f + +# CHECK: strvg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x2f + +# CHECK: strvg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x2f + +# CHECK: strvg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x2f + +# CHECK: strvg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x2f + +# CHECK: strvg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x2f + +# CHECK: strvg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x2f + +# CHECK: strvg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x2f diff --git a/test/MC/Disassembler/SystemZ/insn-sty.txt b/test/MC/Disassembler/SystemZ/insn-sty.txt new file mode 100644 index 00000000000..faee6638a1a --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sty.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sty %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x50 + +# CHECK: sty %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x50 + +# CHECK: sty %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x50 + +# CHECK: sty %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x50 + +# CHECK: sty %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x50 + +# CHECK: sty %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x50 + +# CHECK: sty %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x50 + +# CHECK: sty %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x50 + +# CHECK: sty %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x50 + +# CHECK: sty %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x50 diff --git a/test/MC/Disassembler/SystemZ/insn-sxbr.txt b/test/MC/Disassembler/SystemZ/insn-sxbr.txt new file mode 100644 index 00000000000..9fc1e4d8669 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sxbr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sxbr %f0, %f0 +0xb3 0x4b 0x00 0x00 + +# CHECK: sxbr %f0, %f13 +0xb3 0x4b 0x00 0x0d + +# CHECK: sxbr %f8, %f8 +0xb3 0x4b 0x00 0x88 + +# CHECK: sxbr %f13, %f0 +0xb3 0x4b 0x00 0xd0 diff --git a/test/MC/Disassembler/SystemZ/insn-sy.txt b/test/MC/Disassembler/SystemZ/insn-sy.txt new file mode 100644 index 00000000000..927f64b34de --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-sy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: sy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x5b + +# CHECK: sy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x5b + +# CHECK: sy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x5b + +# CHECK: sy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x5b + +# CHECK: sy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x5b + +# CHECK: sy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x5b + +# CHECK: sy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x5b + +# CHECK: sy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x5b + +# CHECK: sy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x5b + +# CHECK: sy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x5b diff --git a/test/MC/Disassembler/SystemZ/insn-x.txt b/test/MC/Disassembler/SystemZ/insn-x.txt new file mode 100644 index 00000000000..90dc47b198b --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-x.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: x %r0, 0 +0x57 0x00 0x00 0x00 + +# CHECK: x %r0, 4095 +0x57 0x00 0x0f 0xff + +# CHECK: x %r0, 0(%r1) +0x57 0x00 0x10 0x00 + +# CHECK: x %r0, 0(%r15) +0x57 0x00 0xf0 0x00 + +# CHECK: x %r0, 4095(%r1,%r15) +0x57 0x01 0xff 0xff + +# CHECK: x %r0, 4095(%r15,%r1) +0x57 0x0f 0x1f 0xff + +# CHECK: x %r15, 0 +0x57 0xf0 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-xg.txt b/test/MC/Disassembler/SystemZ/insn-xg.txt new file mode 100644 index 00000000000..20838d21780 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-xg.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: xg %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x82 + +# CHECK: xg %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x82 + +# CHECK: xg %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x82 + +# CHECK: xg %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x82 + +# CHECK: xg %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x82 + +# CHECK: xg %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x82 + +# CHECK: xg %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x82 + +# CHECK: xg %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x82 + +# CHECK: xg %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x82 + +# CHECK: xg %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x82 diff --git a/test/MC/Disassembler/SystemZ/insn-xgr.txt b/test/MC/Disassembler/SystemZ/insn-xgr.txt new file mode 100644 index 00000000000..c9f4910e3eb --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-xgr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: xgr %r0, %r0 +0xb9 0x82 0x00 0x00 + +# CHECK: xgr %r0, %r15 +0xb9 0x82 0x00 0x0f + +# CHECK: xgr %r15, %r0 +0xb9 0x82 0x00 0xf0 + +# CHECK: xgr %r7, %r8 +0xb9 0x82 0x00 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-xi.txt b/test/MC/Disassembler/SystemZ/insn-xi.txt new file mode 100644 index 00000000000..ef201386d3c --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-xi.txt @@ -0,0 +1,21 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: xi 0, 0 +0x97 0x00 0x00 0x00 + +# CHECK: xi 4095, 0 +0x97 0x00 0x0f 0xff + +# CHECK: xi 0, 255 +0x97 0xff 0x00 0x00 + +# CHECK: xi 0(%r1), 42 +0x97 0x2a 0x10 0x00 + +# CHECK: xi 0(%r15), 42 +0x97 0x2a 0xf0 0x00 + +# CHECK: xi 4095(%r1), 42 +0x97 0x2a 0x1f 0xff + +# CHECK: xi 4095(%r15), 42 +0x97 0x2a 0xff 0xff diff --git a/test/MC/Disassembler/SystemZ/insn-xihf.txt b/test/MC/Disassembler/SystemZ/insn-xihf.txt new file mode 100644 index 00000000000..e0231ce3dee --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-xihf.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: xihf %r0, 0 +0xc0 0x06 0x00 0x00 0x00 0x00 + +# CHECK: xihf %r0, 4294967295 +0xc0 0x06 0xff 0xff 0xff 0xff + +# CHECK: xihf %r15, 0 +0xc0 0xf6 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-xilf.txt b/test/MC/Disassembler/SystemZ/insn-xilf.txt new file mode 100644 index 00000000000..bda8ab0c089 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-xilf.txt @@ -0,0 +1,9 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: xilf %r0, 0 +0xc0 0x07 0x00 0x00 0x00 0x00 + +# CHECK: xilf %r0, 4294967295 +0xc0 0x07 0xff 0xff 0xff 0xff + +# CHECK: xilf %r15, 0 +0xc0 0xf7 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/insn-xiy.txt b/test/MC/Disassembler/SystemZ/insn-xiy.txt new file mode 100644 index 00000000000..cc60ebb6f45 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-xiy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: xiy -524288, 0 +0xeb 0x00 0x00 0x00 0x80 0x57 + +# CHECK: xiy -1, 0 +0xeb 0x00 0x0f 0xff 0xff 0x57 + +# CHECK: xiy 0, 0 +0xeb 0x00 0x00 0x00 0x00 0x57 + +# CHECK: xiy 1, 0 +0xeb 0x00 0x00 0x01 0x00 0x57 + +# CHECK: xiy 524287, 0 +0xeb 0x00 0x0f 0xff 0x7f 0x57 + +# CHECK: xiy 0, 255 +0xeb 0xff 0x00 0x00 0x00 0x57 + +# CHECK: xiy 0(%r1), 42 +0xeb 0x2a 0x10 0x00 0x00 0x57 + +# CHECK: xiy 0(%r15), 42 +0xeb 0x2a 0xf0 0x00 0x00 0x57 + +# CHECK: xiy 524287(%r1), 42 +0xeb 0x2a 0x1f 0xff 0x7f 0x57 + +# CHECK: xiy 524287(%r15), 42 +0xeb 0x2a 0xff 0xff 0x7f 0x57 diff --git a/test/MC/Disassembler/SystemZ/insn-xr.txt b/test/MC/Disassembler/SystemZ/insn-xr.txt new file mode 100644 index 00000000000..70cb0036c3f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-xr.txt @@ -0,0 +1,12 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: xr %r0, %r0 +0x17 0x00 + +# CHECK: xr %r0, %r15 +0x17 0x0f + +# CHECK: xr %r15, %r0 +0x17 0xf0 + +# CHECK: xr %r7, %r8 +0x17 0x78 diff --git a/test/MC/Disassembler/SystemZ/insn-xy.txt b/test/MC/Disassembler/SystemZ/insn-xy.txt new file mode 100644 index 00000000000..dea20278c5f --- /dev/null +++ b/test/MC/Disassembler/SystemZ/insn-xy.txt @@ -0,0 +1,30 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu | FileCheck %s +# CHECK: xy %r0, -524288 +0xe3 0x00 0x00 0x00 0x80 0x57 + +# CHECK: xy %r0, -1 +0xe3 0x00 0x0f 0xff 0xff 0x57 + +# CHECK: xy %r0, 0 +0xe3 0x00 0x00 0x00 0x00 0x57 + +# CHECK: xy %r0, 1 +0xe3 0x00 0x00 0x01 0x00 0x57 + +# CHECK: xy %r0, 524287 +0xe3 0x00 0x0f 0xff 0x7f 0x57 + +# CHECK: xy %r0, 0(%r1) +0xe3 0x00 0x10 0x00 0x00 0x57 + +# CHECK: xy %r0, 0(%r15) +0xe3 0x00 0xf0 0x00 0x00 0x57 + +# CHECK: xy %r0, 524287(%r1,%r15) +0xe3 0x01 0xff 0xff 0x7f 0x57 + +# CHECK: xy %r0, 524287(%r15,%r1) +0xe3 0x0f 0x1f 0xff 0x7f 0x57 + +# CHECK: xy %r15, 0 +0xe3 0xf0 0x00 0x00 0x00 0x57 diff --git a/test/MC/Disassembler/SystemZ/invalid-regs-01.txt b/test/MC/Disassembler/SystemZ/invalid-regs-01.txt new file mode 100644 index 00000000000..12440677ba3 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/invalid-regs-01.txt @@ -0,0 +1,22 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu < %s 2>&1 | FileCheck %s + +# This would be "axbr %f14, %f0", but %r14 is invalid. +# +# CHECK: warning: invalid instruction encoding +# CHECK-NEXT: 0xb3 0x4a 0x00 0xe0 +# CHECK-NEXT: ^ +0xb3 0x4a 0x00 0xe0 + +# This would be "axbr %f0, %f2", but %f2 is invalid. +# +# CHECK-NEXT: warning: invalid instruction encoding +# CHECK-NEXT: 0xb3 0x4a 0x00 0x02 +# CHECK-NEXT: ^ +0xb3 0x4a 0x00 0x02 + +# This would be "dlr %r1, %r8", but %r1 is invalid. +# +# CHECK-NEXT: warning: invalid instruction encoding +# CHECK-NEXT: 0xb9 0x97 0x00 0x18 +# CHECK-NEXT: ^ +0xb9 0x97 0x00 0x18 diff --git a/test/MC/Disassembler/SystemZ/lit.local.cfg b/test/MC/Disassembler/SystemZ/lit.local.cfg new file mode 100644 index 00000000000..1da00eaef3e --- /dev/null +++ b/test/MC/Disassembler/SystemZ/lit.local.cfg @@ -0,0 +1,6 @@ +config.suffixes = ['.txt'] + +targets = set(config.root.targets_to_build.split()) +if not 'SystemZ' in targets: + config.unsupported = True + diff --git a/test/MC/Disassembler/SystemZ/trunc-01.txt b/test/MC/Disassembler/SystemZ/trunc-01.txt new file mode 100644 index 00000000000..336142ddea3 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/trunc-01.txt @@ -0,0 +1,5 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu 2>&1 | FileCheck %s +# Every instruction must be at least two bytes long. +# CHECK: warning: invalid instruction encoding +# CHECK-NEXT: 0xc4 +0xc4 diff --git a/test/MC/Disassembler/SystemZ/trunc-02.txt b/test/MC/Disassembler/SystemZ/trunc-02.txt new file mode 100644 index 00000000000..e1e20516e83 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/trunc-02.txt @@ -0,0 +1,5 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu 2>&1 | FileCheck %s +# If the top bits are 0b10, the instruction must be 4 bytes long. +# CHECK: warning: invalid instruction encoding +# CHECK-NEXT: 0xb9 0x08 0x00 +0xb9 0x08 0x00 diff --git a/test/MC/Disassembler/SystemZ/trunc-03.txt b/test/MC/Disassembler/SystemZ/trunc-03.txt new file mode 100644 index 00000000000..94d0c378968 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/trunc-03.txt @@ -0,0 +1,5 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu 2>&1 | FileCheck %s +# If the top bits are 0b11, the instruction must be 6 bytes long. +# CHECK: warning: invalid instruction encoding +# CHECK-NEXT: 0xed 0x00 0x00 0x00 0x00 +0xed 0x00 0x00 0x00 0x00 diff --git a/test/MC/Disassembler/SystemZ/unmapped-01.txt b/test/MC/Disassembler/SystemZ/unmapped-01.txt new file mode 100644 index 00000000000..9379ff63195 --- /dev/null +++ b/test/MC/Disassembler/SystemZ/unmapped-01.txt @@ -0,0 +1,32 @@ +# RUN: llvm-mc --disassemble %s -triple=s390x-linux-gnu 2>&1 | FileCheck %s + +# An unmapped 2-byte instruction +# +# CHECK: warning: invalid instruction encoding +# CHECK-NEXT: 0x01 +# CHECK-NEXT: ^ +0x01 +0x10 + +# An unmapped 4-byte instruction +# +# CHECK-NEXT: warning: invalid instruction encoding +# CHECK-NEXT: 0x53 +# CHECK-NEXT: ^ +0x53 +0x00 0x00 0x00 + +# An unmapped 6-byte instruction +# +# CHECK-NEXT: warning: invalid instruction encoding +# CHECK-NEXT: 0xff +# CHECK-NEXT: ^ +0xff +0x00 0x00 0x00 0x00 0x00 + +# A trailing zero (also unmapped) +# +# CHECK-NEXT: warning: invalid instruction encoding +# CHECK-NEXT: 0x00 +# CHECK-NEXT: ^ +0x00