[llvm-branch-commits] [llvm] [SystemZ][z/OS] Show instruction encoding in HLASM output (PR #181904)
Kai Nacke via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Apr 10 18:18:01 PDT 2026
https://github.com/redstar updated https://github.com/llvm/llvm-project/pull/181904
>From e3967ab3bf2b453350c0977caa90fc895354c0b1 Mon Sep 17 00:00:00 2001
From: Kai Nacke <kai.peter.nacke at ibm.com>
Date: Tue, 17 Feb 2026 14:32:24 -0500
Subject: [PATCH 1/2] [SystemZ][z/OS] Show instruction encoding in HLASM output
This change adds the support to show instruction encoding as a comment
when emitting HLASM text. With this, the last 2 LIT tests migrate to
HLASM syntax.
---
.../MCTargetDesc/SystemZHLASMAsmStreamer.cpp | 3 +
.../MCTargetDesc/SystemZHLASMAsmStreamer.h | 27 ++--
llvm/test/CodeGen/SystemZ/call-zos-02.ll | 12 +-
llvm/test/MC/SystemZ/insn-good-zos-pcrel.s | 140 +++++++++++-------
4 files changed, 103 insertions(+), 79 deletions(-)
diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
index b38bbb09fb8fa..ed5bcfc782d40 100644
--- a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
@@ -188,6 +188,9 @@ void SystemZHLASMAsmStreamer::emitBytes(StringRef Data) {
void SystemZHLASMAsmStreamer::emitInstruction(const MCInst &Inst,
const MCSubtargetInfo &STI) {
+ // Show the encoding in a comment if we have a code emitter.
+ addEncodingComment(Inst, STI);
+ EmitEOL();
InstPrinter->printInst(&Inst, 0, "", STI, OS);
EmitEOL();
diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
index 1eb358d45e0f4..6a3a11aa91e42 100644
--- a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
@@ -17,6 +17,7 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCAsmInfo.h"
+#include "llvm/MC/MCAsmStreamer.h"
#include "llvm/MC/MCAssembler.h"
#include "llvm/MC/MCCodeEmitter.h"
#include "llvm/MC/MCContext.h"
@@ -30,7 +31,7 @@
namespace llvm {
class MCSymbolGOFF;
-class SystemZHLASMAsmStreamer final : public MCStreamer {
+class SystemZHLASMAsmStreamer final : public MCAsmBaseStreamer {
constexpr static size_t InstLimit = 80;
constexpr static size_t ContIndicatorColumn = 72;
constexpr static size_t ContStartColumn = 15;
@@ -41,25 +42,17 @@ class SystemZHLASMAsmStreamer final : public MCStreamer {
raw_string_ostream OS;
const MCAsmInfo *MAI;
std::unique_ptr<MCInstPrinter> InstPrinter;
- std::unique_ptr<MCAssembler> Assembler;
- SmallString<128> CommentToEmit;
- raw_svector_ostream CommentStream;
- raw_null_ostream NullStream;
bool IsVerboseAsm = false;
public:
SystemZHLASMAsmStreamer(MCContext &Context,
- std::unique_ptr<formatted_raw_ostream> os,
- std::unique_ptr<MCInstPrinter> printer,
- std::unique_ptr<MCCodeEmitter> emitter,
- std::unique_ptr<MCAsmBackend> asmbackend)
- : MCStreamer(Context), FOSOwner(std::move(os)), FOS(*FOSOwner), OS(Str),
- MAI(Context.getAsmInfo()), InstPrinter(std::move(printer)),
- Assembler(std::make_unique<MCAssembler>(
- Context, std::move(asmbackend), std::move(emitter),
- (asmbackend) ? asmbackend->createObjectWriter(NullStream)
- : nullptr)),
- CommentStream(CommentToEmit) {
+ std::unique_ptr<formatted_raw_ostream> OS,
+ std::unique_ptr<MCInstPrinter> Printer,
+ std::unique_ptr<MCCodeEmitter> Emitter,
+ std::unique_ptr<MCAsmBackend> AsmBackend)
+ : MCAsmBaseStreamer(Context, std::move(Emitter), std::move(AsmBackend)),
+ FOSOwner(std::move(OS)), FOS(*FOSOwner), OS(Str),
+ MAI(Context.getAsmInfo()), InstPrinter(std::move(Printer)) {
assert(InstPrinter);
if (Assembler->getBackendPtr())
setAllowAutoPadding(Assembler->getBackend().allowAutoPadding());
@@ -73,8 +66,6 @@ class SystemZHLASMAsmStreamer final : public MCStreamer {
InstPrinter->setCommentStream(CommentStream);
}
- MCAssembler &getAssembler() { return *Assembler; }
-
void EmitEOL();
void EmitComment();
diff --git a/llvm/test/CodeGen/SystemZ/call-zos-02.ll b/llvm/test/CodeGen/SystemZ/call-zos-02.ll
index 4f1013fc8974d..7ddfda84ef4f6 100644
--- a/llvm/test/CodeGen/SystemZ/call-zos-02.ll
+++ b/llvm/test/CodeGen/SystemZ/call-zos-02.ll
@@ -1,4 +1,4 @@
-; RUN: llc --mtriple=s390x-ibm-zos --show-mc-encoding -emit-gnuas-syntax-on-zos=1 < %s | FileCheck %s
+; RUN: llc --mtriple=s390x-ibm-zos --show-mc-encoding < %s | FileCheck %s
define internal signext i32 @caller() {
entry:
@@ -8,10 +8,12 @@ entry:
define hidden signext i32 @caller2() {
entry:
-; CHECK-LABEL: caller2:
-; CHECK: brasl 7,caller * encoding: [0xc0,0x75,A,A,A,A]
-; CHECK-NEXT: * fixup A - offset: 2, value: caller+2, kind: FK_390_PC32DBL
-; CHECK-NEXT: bcr 0,3 * encoding: [0x07,0x03]
+; CHECK-LABEL: caller2 DS 0H
+; CHECK: * encoding: [0xc0,0x75,A,A,A,A]
+; CHECK-NEXT: * fixup A - offset: 2, value: caller+2, kind: FK_390_PC32DBL
+; CHECK-NEXT: brasl 7,caller
+; CHECK-NEXT: * encoding: [0x07,0x03]
+; CHECK-NEXT: bcr 0,3
%call = call signext i32 @caller()
ret i32 %call
}
diff --git a/llvm/test/MC/SystemZ/insn-good-zos-pcrel.s b/llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
index ce3b7b5e6d410..50ec132f10723 100644
--- a/llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
+++ b/llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
@@ -1,102 +1,130 @@
* For z10 and above.
-* RUN: llvm-mc -triple s390x-ibm-zos -show-encoding -emit-gnuas-syntax-on-zos=1 --output-asm-variant=0 %s | FileCheck %s
-
-*CHECK: brcl 0, FOO * encoding: [0xc0,0x04,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnop FOO * encoding: [0xc0,0x04,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+* RUN: llvm-mc -triple s390x-ibm-zos -show-encoding %s | FileCheck %s
+
+*CHECK: * encoding: [0xc0,0x04,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: brcl 0, FOO
+*CHECK: * encoding: [0xc0,0x04,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnop FOO
brcl 0,FOO
jlnop FOO
-*CHECK: jge FOO * encoding: [0xc0,0x84,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jge FOO * encoding: [0xc0,0x84,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0x84,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jge FOO
+*CHECK: * encoding: [0xc0,0x84,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jge FOO
jle FOO
brel FOO
-*CHECK: jgne FOO * encoding: [0xc0,0x74,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgne FOO * encoding: [0xc0,0x74,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0x74,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgne FOO
+*CHECK: * encoding: [0xc0,0x74,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgne FOO
jlne FOO
brnel FOO
-*CHECK: jgh FOO * encoding: [0xc0,0x24,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgh FOO * encoding: [0xc0,0x24,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0x24,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgh FOO
+*CHECK: * encoding: [0xc0,0x24,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgh FOO
jlh FOO
brhl FOO
-*CHECK: jgnh FOO * encoding: [0xc0,0xd4,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnh FOO * encoding: [0xc0,0xd4,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0xd4,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnh FOO
+*CHECK: * encoding: [0xc0,0xd4,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnh FOO
jlnh FOO
brnhl FOO
-*CHECK: jgl FOO * encoding: [0xc0,0x44,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgl FOO * encoding: [0xc0,0x44,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0x44,A,A,A,A]
+*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgl FOO
+*CHECK: * encoding: [0xc0,0x44,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgl FOO
jll FOO
brll FOO
-*CHECK: jgnl FOO * encoding: [0xc0,0xb4,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnl FOO * encoding: [0xc0,0xb4,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0xb4,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnl FOO
+*CHECK: * encoding: [0xc0,0xb4,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnl FOO
jlnl FOO
brnll FOO
-*CHECK: jgz FOO * encoding: [0xc0,0x84,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgz FOO * encoding: [0xc0,0x84,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0x84,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgz FOO
+*CHECK: * encoding: [0xc0,0x84,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgz FOO
jlz FOO
brzl FOO
-*CHECK: jgnz FOO * encoding: [0xc0,0x74,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnz FOO * encoding: [0xc0,0x74,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0x74,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnz FOO
+*CHECK: * encoding: [0xc0,0x74,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnz FOO
jlnz FOO
brnzl FOO
-*CHECK: jgp FOO * encoding: [0xc0,0x24,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgp FOO * encoding: [0xc0,0x24,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0x24,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgp FOO
+*CHECK: * encoding: [0xc0,0x24,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgp FOO
jlp FOO
brpl FOO
-*CHECK: jgnp FOO * encoding: [0xc0,0xd4,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnp FOO * encoding: [0xc0,0xd4,A,A,A,A]
+*CHECK: * encoding: [0xc0,0xd4,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnp FOO
+*CHECK: * encoding: [0xc0,0xd4,A,A,A,A]
*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnp FOO
jlnp FOO
brnpl FOO
-*CHECK: jgm FOO * encoding: [0xc0,0x44,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgm FOO * encoding: [0xc0,0x44,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0x44,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgm FOO
+*CHECK: * encoding: [0xc0,0x44,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgm FOO
jlm FOO
brml FOO
-*CHECK: jgnm FOO * encoding: [0xc0,0xb4,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnm FOO * encoding: [0xc0,0xb4,A,A,A,A]
+*CHECK: * encoding: [0xc0,0xb4,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnm FOO
+*CHECK: * encoding: [0xc0,0xb4,A,A,A,A]
*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jgnm FOO
jlnm FOO
brnml FOO
-*CHECK: jg FOO * encoding: [0xc0,0xf4,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jg FOO * encoding: [0xc0,0xf4,A,A,A,A]
-*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: * encoding: [0xc0,0xf4,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jg FOO
+*CHECK: * encoding: [0xc0,0xf4,A,A,A,A]
+*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
+*CHECK: jg FOO
jlu FOO
brul FOO
>From c9b632f349816c6d378be42f42e89dc840361486 Mon Sep 17 00:00:00 2001
From: Kai Nacke <kai.peter.nacke at ibm.com>
Date: Fri, 10 Apr 2026 21:16:22 -0400
Subject: [PATCH 2/2] Fully translate test case to HLASM syntax dialect
This is a follow-up to 9d4436e3f4dfecd9503e90fb4cba907c86103e1e
which came in through the rebase.
---
llvm/test/MC/SystemZ/insn-good-zos-pcrel.s | 56 +++++++++++-----------
1 file changed, 28 insertions(+), 28 deletions(-)
diff --git a/llvm/test/MC/SystemZ/insn-good-zos-pcrel.s b/llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
index 50ec132f10723..d769f6e6e3b4b 100644
--- a/llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
+++ b/llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
@@ -3,128 +3,128 @@
*CHECK: * encoding: [0xc0,0x04,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: brcl 0, FOO
+*CHECK: brcl 0,FOO
*CHECK: * encoding: [0xc0,0x04,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnop FOO
+*CHECK: jlnop FOO
brcl 0,FOO
jlnop FOO
*CHECK: * encoding: [0xc0,0x84,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jge FOO
+*CHECK: jle FOO
*CHECK: * encoding: [0xc0,0x84,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jge FOO
+*CHECK: jle FOO
jle FOO
brel FOO
*CHECK: * encoding: [0xc0,0x74,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgne FOO
+*CHECK: jlne FOO
*CHECK: * encoding: [0xc0,0x74,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgne FOO
+*CHECK: jlne FOO
jlne FOO
brnel FOO
*CHECK: * encoding: [0xc0,0x24,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgh FOO
+*CHECK: jlh FOO
*CHECK: * encoding: [0xc0,0x24,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgh FOO
+*CHECK: jlh FOO
jlh FOO
brhl FOO
*CHECK: * encoding: [0xc0,0xd4,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnh FOO
+*CHECK: jlnh FOO
*CHECK: * encoding: [0xc0,0xd4,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnh FOO
+*CHECK: jlnh FOO
jlnh FOO
brnhl FOO
*CHECK: * encoding: [0xc0,0x44,A,A,A,A]
*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgl FOO
+*CHECK: jll FOO
*CHECK: * encoding: [0xc0,0x44,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgl FOO
+*CHECK: jll FOO
jll FOO
brll FOO
*CHECK: * encoding: [0xc0,0xb4,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnl FOO
+*CHECK: jlnl FOO
*CHECK: * encoding: [0xc0,0xb4,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnl FOO
+*CHECK: jlnl FOO
jlnl FOO
brnll FOO
*CHECK: * encoding: [0xc0,0x84,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgz FOO
+*CHECK: jlz FOO
*CHECK: * encoding: [0xc0,0x84,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgz FOO
+*CHECK: jlz FOO
jlz FOO
brzl FOO
*CHECK: * encoding: [0xc0,0x74,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnz FOO
+*CHECK: jlnz FOO
*CHECK: * encoding: [0xc0,0x74,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnz FOO
+*CHECK: jlnz FOO
jlnz FOO
brnzl FOO
*CHECK: * encoding: [0xc0,0x24,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgp FOO
+*CHECK: jlp FOO
*CHECK: * encoding: [0xc0,0x24,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgp FOO
+*CHECK: jlp FOO
jlp FOO
brpl FOO
*CHECK: * encoding: [0xc0,0xd4,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnp FOO
+*CHECK: jlnp FOO
*CHECK: * encoding: [0xc0,0xd4,A,A,A,A]
*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnp FOO
+*CHECK: jlnp FOO
jlnp FOO
brnpl FOO
*CHECK: * encoding: [0xc0,0x44,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgm FOO
+*CHECK: jlm FOO
*CHECK: * encoding: [0xc0,0x44,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgm FOO
+*CHECK: jlm FOO
jlm FOO
brml FOO
*CHECK: * encoding: [0xc0,0xb4,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnm FOO
+*CHECK: jlnm FOO
*CHECK: * encoding: [0xc0,0xb4,A,A,A,A]
*CHECK: fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jgnm FOO
+*CHECK: jlnm FOO
jlnm FOO
brnml FOO
*CHECK: * encoding: [0xc0,0xf4,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jg FOO
+*CHECK: jlu FOO
*CHECK: * encoding: [0xc0,0xf4,A,A,A,A]
*CHECK: * fixup A - offset: 2, value: FOO+2, kind: FK_390_PC32DBL
-*CHECK: jg FOO
+*CHECK: jlu FOO
jlu FOO
brul FOO
More information about the llvm-branch-commits
mailing list