[Hexagon] Define Hexagon v93 ELF flags#196643
Open
quic-akaryaki wants to merge 1 commit intollvm:mainfrom
Open
[Hexagon] Define Hexagon v93 ELF flags#196643quic-akaryaki wants to merge 1 commit intollvm:mainfrom
quic-akaryaki wants to merge 1 commit intollvm:mainfrom
Conversation
|
@llvm/pr-subscribers-objectyaml @llvm/pr-subscribers-llvm-binary-utilities Author: Alexey Karyakin (quic-akaryaki) ChangesFull diff: https://github.com/llvm/llvm-project/pull/196643.diff 3 Files Affected:
diff --git a/llvm/include/llvm/BinaryFormat/ELF.h b/llvm/include/llvm/BinaryFormat/ELF.h
index 3fb5b51fb0a94..72cded68463a6 100644
--- a/llvm/include/llvm/BinaryFormat/ELF.h
+++ b/llvm/include/llvm/BinaryFormat/ELF.h
@@ -648,6 +648,7 @@ enum {
EF_HEXAGON_ISA_V87 = 0x00000087, // Hexagon V87 ISA
EF_HEXAGON_ISA_V89 = 0x00000089, // Hexagon V89 ISA
EF_HEXAGON_ISA_V91 = 0x00000091, // Hexagon V91 ISA
+ EF_HEXAGON_ISA_V93 = 0x00000093, // Hexagon V93 ISA
EF_HEXAGON_ISA = 0x000003ff, // Hexagon V.. ISA
// Tiny core flag, bit[15]
@@ -682,6 +683,7 @@ enum {
EF_HEXAGON_MACH_V87 = EF_HEXAGON_ISA_V87, // Hexagon V87
EF_HEXAGON_MACH_V89 = EF_HEXAGON_ISA_V89, // Hexagon V89
EF_HEXAGON_MACH_V91 = EF_HEXAGON_ISA_V91, // Hexagon V91
+ EF_HEXAGON_MACH_V93 = EF_HEXAGON_ISA_V93, // Hexagon V93
EF_HEXAGON_MACH = 0x0000ffff, // Hexagon V..
};
diff --git a/llvm/lib/ObjectYAML/ELFYAML.cpp b/llvm/lib/ObjectYAML/ELFYAML.cpp
index f61ad8089c71b..018193a3e4bca 100644
--- a/llvm/lib/ObjectYAML/ELFYAML.cpp
+++ b/llvm/lib/ObjectYAML/ELFYAML.cpp
@@ -507,6 +507,7 @@ void ScalarBitSetTraits<ELFYAML::ELF_EF>::bitset(IO &IO,
BCaseMask(EF_HEXAGON_MACH_V87, EF_HEXAGON_MACH);
BCaseMask(EF_HEXAGON_MACH_V89, EF_HEXAGON_MACH);
BCaseMask(EF_HEXAGON_MACH_V91, EF_HEXAGON_MACH);
+ BCaseMask(EF_HEXAGON_MACH_V93, EF_HEXAGON_MACH);
BCaseMask(EF_HEXAGON_ISA_V2, EF_HEXAGON_ISA);
BCaseMask(EF_HEXAGON_ISA_V3, EF_HEXAGON_ISA);
BCaseMask(EF_HEXAGON_ISA_V4, EF_HEXAGON_ISA);
@@ -531,6 +532,7 @@ void ScalarBitSetTraits<ELFYAML::ELF_EF>::bitset(IO &IO,
BCaseMask(EF_HEXAGON_ISA_V87, EF_HEXAGON_ISA);
BCaseMask(EF_HEXAGON_ISA_V89, EF_HEXAGON_ISA);
BCaseMask(EF_HEXAGON_ISA_V91, EF_HEXAGON_ISA);
+ BCaseMask(EF_HEXAGON_ISA_V93, EF_HEXAGON_ISA);
break;
case ELF::EM_AVR:
BCaseMask(EF_AVR_ARCH_AVR1, EF_AVR_ARCH_MASK);
diff --git a/llvm/test/tools/obj2yaml/ELF/hexagon-eflags.yaml b/llvm/test/tools/obj2yaml/ELF/hexagon-eflags.yaml
new file mode 100644
index 0000000000000..714c237956062
--- /dev/null
+++ b/llvm/test/tools/obj2yaml/ELF/hexagon-eflags.yaml
@@ -0,0 +1,43 @@
+--- !ELF
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_HEXAGON
+ Flags: [ EF_HEXAGON_MACH_V68 ]
+
+# RUN: yaml2obj --docnum=1 %s | obj2yaml - | FileCheck %s --check-prefix=CHECK-V68
+# CHECK-V68: Flags: [ EF_HEXAGON_MACH_V68, EF_HEXAGON_ISA_V68 ]
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_HEXAGON
+ Flags: [ EF_HEXAGON_MACH_V71T ]
+
+# RUN: yaml2obj --docnum=2 %s | obj2yaml - | FileCheck %s --check-prefix=CHECK-V71T
+# CHECK-V71T: Flags: [ EF_HEXAGON_MACH_V71T, EF_HEXAGON_ISA_V71 ]
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_HEXAGON
+ Flags: [ EF_HEXAGON_MACH_V91 ]
+
+# RUN: yaml2obj --docnum=3 %s | obj2yaml - | FileCheck %s --check-prefix=CHECK-V91
+# CHECK-V91: Flags: [ EF_HEXAGON_MACH_V91, EF_HEXAGON_ISA_V91 ]
+
+--- !ELF
+FileHeader:
+ Class: ELFCLASS32
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_HEXAGON
+ Flags: [ EF_HEXAGON_MACH_V93 ]
+
+# RUN: yaml2obj --docnum=4 %s | obj2yaml - | FileCheck %s --check-prefix=CHECK-V93
+# CHECK-V93: Flags: [ EF_HEXAGON_MACH_V93, EF_HEXAGON_ISA_V93 ]
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.