armeb, // ARM (big endian): armeb
aarch64, // AArch64 (little endian): aarch64
aarch64_be, // AArch64 (big endian): aarch64_be
- bpf_le, // eBPF or extended BPF or 64-bit BPF (little endian)
- bpf_be, // eBPF or extended BPF or 64-bit BPF (big endian)
+ bpfel, // eBPF or extended BPF or 64-bit BPF (little endian)
+ bpfeb, // eBPF or extended BPF or 64-bit BPF (big endian)
hexagon, // Hexagon: hexagon
mips, // MIPS: mips, mipsallegrex
mipsel, // MIPSEL: mipsel, mipsallegrexel
case aarch64_be: return "aarch64_be";
case arm: return "arm";
case armeb: return "armeb";
- case bpf_le: return "bpf_le";
- case bpf_be: return "bpf_be";
+ case bpfel: return "bpfel";
+ case bpfeb: return "bpfeb";
case hexagon: return "hexagon";
case mips: return "mips";
case mipsel: return "mipsel";
case amdgcn:
case r600: return "amdgpu";
- case bpf_le:
- case bpf_be: return "bpf";
+ case bpfel:
+ case bpfeb: return "bpf";
case sparcv9:
case sparcel:
static Triple::ArchType parseBPFArch(StringRef ArchName) {
if (ArchName.equals("bpf")) {
if (sys::IsLittleEndianHost)
- return Triple::bpf_le;
+ return Triple::bpfel;
else
- return Triple::bpf_be;
- } else if (ArchName.equals("bpf_be")) {
- return Triple::bpf_be;
- } else if (ArchName.equals("bpf_le")) {
- return Triple::bpf_le;
+ return Triple::bpfeb;
+ } else if (ArchName.equals("bpf_be") || ArchName.equals("bpfeb")) {
+ return Triple::bpfeb;
+ } else if (ArchName.equals("bpf_le") || ArchName.equals("bpfel")) {
+ return Triple::bpfel;
} else {
return Triple::UnknownArch;
}
case llvm::Triple::aarch64:
case llvm::Triple::aarch64_be:
case llvm::Triple::amdgcn:
- case llvm::Triple::bpf_le:
- case llvm::Triple::bpf_be:
+ case llvm::Triple::bpfel:
+ case llvm::Triple::bpfeb:
case llvm::Triple::le64:
case llvm::Triple::mips64:
case llvm::Triple::mips64el:
case Triple::aarch64:
case Triple::aarch64_be:
case Triple::amdgcn:
- case Triple::bpf_le:
- case Triple::bpf_be:
+ case Triple::bpfel:
+ case Triple::bpfeb:
case Triple::msp430:
case Triple::systemz:
case Triple::ppc64le:
case Triple::aarch64:
case Triple::aarch64_be:
- case Triple::bpf_le:
- case Triple::bpf_be:
+ case Triple::bpfel:
+ case Triple::bpfeb:
case Triple::le64:
case Triple::amdil64:
case Triple::amdgcn:
// DataLayout: little or big endian
static std::string computeDataLayout(StringRef TT) {
- if (Triple(TT).getArch() == Triple::bpf_be)
+ if (Triple(TT).getArch() == Triple::bpfeb)
return "E-m:e-p:64:64-i64:64-n32:64-S128";
else
return "e-m:e-p:64:64-i64:64-n32:64-S128";
class BPFMCAsmInfo : public MCAsmInfo {
public:
explicit BPFMCAsmInfo(const Triple &TT) {
- if (TT.getArch() == Triple::bpf_be)
+ if (TT.getArch() == Triple::bpfeb)
IsLittleEndian = false;
PrivateGlobalPrefix = ".L";
TargetRegistry::RegisterTarget(TheBPFTarget, "bpf",
"BPF (host endian)",
[](Triple::ArchType) { return false; }, true);
- RegisterTarget<Triple::bpf_le, /*HasJIT=*/true> X(
- TheBPFleTarget, "bpf_le", "BPF (little endian)");
- RegisterTarget<Triple::bpf_be, /*HasJIT=*/true> Y(
- TheBPFbeTarget, "bpf_be", "BPF (big endian)");
+ RegisterTarget<Triple::bpfel, /*HasJIT=*/true> X(
+ TheBPFleTarget, "bpfel", "BPF (little endian)");
+ RegisterTarget<Triple::bpfeb, /*HasJIT=*/true> Y(
+ TheBPFbeTarget, "bpfeb", "BPF (big endian)");
}
-; RUN: llc -march=bpf_le -show-mc-encoding < %s | FileCheck %s
+; RUN: llc -march=bpfel -show-mc-encoding < %s | FileCheck %s
define i8 @mov(i8 %a, i8 %b) nounwind {
; CHECK-LABEL: mov:
-; RUN: llc < %s -march=bpf_le -verify-machineinstrs -show-mc-encoding | FileCheck %s
+; RUN: llc < %s -march=bpfel -verify-machineinstrs -show-mc-encoding | FileCheck %s
; CHECK-LABEL: test_load_add_32
; CHECK: xadd32
-; RUN: llc < %s -march=bpf_le | FileCheck %s
+; RUN: llc < %s -march=bpfel | FileCheck %s
define i32 @test0(i32 %X) {
%tmp.1 = add i32 %X, 1
-; RUN: llc < %s -march=bpf_le -show-mc-encoding | FileCheck %s
+; RUN: llc < %s -march=bpfel -show-mc-encoding | FileCheck %s
define void @test() #0 {
entry:
-; RUN: llc < %s -march=bpf_be -show-mc-encoding | FileCheck %s
+; RUN: llc < %s -march=bpfeb -show-mc-encoding | FileCheck %s
; test big endian
define void @test() #0 {
-; RUN: llc < %s -march=bpf_le | FileCheck %s
+; RUN: llc < %s -march=bpfel | FileCheck %s
define void @test() #0 {
entry:
-; RUN: llc < %s -march=bpf_le | FileCheck %s
+; RUN: llc < %s -march=bpfel | FileCheck %s
%struct.bpf_context = type { i64, i64, i64, i64, i64, i64, i64 }
%struct.sk_buff = type { i64, i64, i64, i64, i64, i64, i64 }
-; RUN: llc < %s -march=bpf_le -show-mc-encoding | FileCheck %s
+; RUN: llc < %s -march=bpfel -show-mc-encoding | FileCheck %s
; Function Attrs: nounwind uwtable
define i32 @ld_b(i64 %foo, i64* nocapture %bar, i8* %ctx, i8* %ctx2) #0 {
-; RUN: llc < %s -march=bpf_le | FileCheck %s
+; RUN: llc < %s -march=bpfel | FileCheck %s
define i16 @am1(i16* %a) nounwind {
%1 = load i16, i16* %a
-; RUN: llc < %s -march=bpf_le | FileCheck %s
+; RUN: llc < %s -march=bpfel | FileCheck %s
define zeroext i16 @add(i16* nocapture %a, i16 zeroext %n) nounwind readonly {
entry:
-; RUN: llc < %s -march=bpf_le | FileCheck %s
+; RUN: llc < %s -march=bpfel | FileCheck %s
@foo_printf.fmt = private unnamed_addr constant [9 x i8] c"hello \0A\00", align 1
-; RUN: llc -march=bpf_le < %s | FileCheck %s
+; RUN: llc -march=bpfel < %s | FileCheck %s
define i16 @sccweqand(i16 %a, i16 %b) nounwind {
%t1 = and i16 %a, %b
-; RUN: llc < %s -march=bpf_le -show-mc-encoding | FileCheck %s
+; RUN: llc < %s -march=bpfel -show-mc-encoding | FileCheck %s
define zeroext i8 @lshr8(i8 zeroext %a, i8 zeroext %cnt) nounwind readnone {
entry:
-; RUN: llc < %s -march=bpf_le -show-mc-encoding | FileCheck %s
+; RUN: llc < %s -march=bpfel -show-mc-encoding | FileCheck %s
%struct.bpf_map_def = type { i32, i32, i32, i32 }
%struct.sk_buff = type opaque