Skip to content

Commit d5cba0d

Browse files
SC llvm teamSC llvm team
authored andcommitted
Merged main:ed1d29028492 into amd-gfx:ece3beeeb394
Local branch amd-gfx ece3bee Merged main:beffc821e829 into amd-gfx:010f535d2674 Remote branch main ed1d290 [Driver][NFC] Remove identifier with the comment (llvm#68351)
2 parents ece3bee + ed1d290 commit d5cba0d

File tree

10 files changed

+95
-41
lines changed

10 files changed

+95
-41
lines changed

clang/lib/Driver/ToolChains/AIX.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace clang {
1616
namespace driver {
1717
namespace tools {
1818

19-
/// aix -- Directly call system default assembler and linker.
19+
/// Directly call system default assembler and linker.
2020
namespace aix {
2121

2222
class LLVM_LIBRARY_VISIBILITY Assembler : public Tool {

clang/lib/Driver/ToolChains/DragonFly.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
namespace clang {
1717
namespace driver {
1818
namespace tools {
19-
/// dragonfly -- Directly call GNU Binutils assembler and linker
19+
20+
/// Directly call GNU Binutils assembler and linker
2021
namespace dragonfly {
2122
class LLVM_LIBRARY_VISIBILITY Assembler : public Tool {
2223
public:

clang/lib/Driver/ToolChains/FreeBSD.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace clang {
1717
namespace driver {
1818
namespace tools {
1919

20-
/// freebsd -- Directly call GNU Binutils assembler and linker
20+
/// Directly call GNU Binutils assembler and linker
2121
namespace freebsd {
2222
class LLVM_LIBRARY_VISIBILITY Assembler : public Tool {
2323
public:

clang/lib/Driver/ToolChains/MinGW.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ namespace clang {
2020
namespace driver {
2121
namespace tools {
2222

23-
/// MinGW -- Directly call GNU Binutils assembler and linker
23+
/// Directly call GNU Binutils assembler and linker
2424
namespace MinGW {
2525
class LLVM_LIBRARY_VISIBILITY Assembler : public Tool {
2626
public:

clang/lib/Driver/ToolChains/NetBSD.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace clang {
1717
namespace driver {
1818
namespace tools {
1919

20-
/// netbsd -- Directly call GNU Binutils assembler and linker
20+
/// Directly call GNU Binutils assembler and linker
2121
namespace netbsd {
2222
class LLVM_LIBRARY_VISIBILITY Assembler : public Tool {
2323
public:

clang/lib/Driver/ToolChains/OpenBSD.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace clang {
1818
namespace driver {
1919
namespace tools {
2020

21-
/// openbsd -- Directly call GNU Binutils assembler and linker
21+
/// Directly call GNU Binutils assembler and linker
2222
namespace openbsd {
2323
class LLVM_LIBRARY_VISIBILITY Assembler : public Tool {
2424
public:

clang/lib/Driver/ToolChains/Solaris.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace clang {
1717
namespace driver {
1818
namespace tools {
1919

20-
/// solaris -- Directly call Solaris assembler and linker
20+
/// Directly call Solaris assembler and linker
2121
namespace solaris {
2222
class LLVM_LIBRARY_VISIBILITY Assembler : public gnutools::Assembler {
2323
public:

clang/lib/Driver/ToolChains/ZOS.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace clang {
1616
namespace driver {
1717
namespace tools {
1818

19-
/// zos -- Directly call system default assembler and linker.
19+
/// Directly call system default assembler and linker.
2020
namespace zos {
2121

2222
class LLVM_LIBRARY_VISIBILITY Assembler : public Tool {

llvm/include/llvm/Config/llvm-config.h.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
/* Indicate that this is LLVM compiled from the amd-gfx branch. */
1818
#define LLVM_HAVE_BRANCH_AMD_GFX
19-
#define LLVM_MAIN_REVISION 477835
19+
#define LLVM_MAIN_REVISION 477837
2020

2121
/* Define if LLVM_ENABLE_DUMP is enabled */
2222
#cmakedefine LLVM_ENABLE_DUMP

llvm/test/CodeGen/PowerPC/crbit-asm.ll

Lines changed: 85 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3
12
; RUN: llc -verify-machineinstrs -mcpu=pwr7 < %s | FileCheck %s
23
; RUN: llc -verify-machineinstrs -O1 -mcpu=pwr7 < %s | FileCheck %s
34
; RUN: llc -verify-machineinstrs -mcpu=pwr7 -ppc-gen-isel=false < %s | FileCheck --check-prefix=CHECK-NO-ISEL %s
@@ -7,61 +8,113 @@ target datalayout = "E-m:e-i64:64-n32:64"
78
target triple = "powerpc64-unknown-linux-gnu"
89

910
define zeroext i1 @testi1(i1 zeroext %b1, i1 zeroext %b2) #0 {
11+
; CHECK-LABEL: testi1:
12+
; CHECK: # %bb.0: # %entry
13+
; CHECK-NEXT: andi. 3, 3, 1
14+
; CHECK-NEXT: crmove 20, 1
15+
; CHECK-NEXT: andi. 3, 4, 1
16+
; CHECK-NEXT: li 3, 0
17+
; CHECK-NEXT: li 4, 1
18+
; CHECK-NEXT: #APP
19+
; CHECK-NEXT: crand 20, 20, 1
20+
; CHECK-NEXT: #NO_APP
21+
; CHECK-NEXT: isel 3, 4, 3, 20
22+
; CHECK-NEXT: blr
23+
;
24+
; CHECK-NO-ISEL-LABEL: testi1:
25+
; CHECK-NO-ISEL: # %bb.0: # %entry
26+
; CHECK-NO-ISEL-NEXT: andi. 3, 3, 1
27+
; CHECK-NO-ISEL-NEXT: crmove 20, 1
28+
; CHECK-NO-ISEL-NEXT: andi. 3, 4, 1
29+
; CHECK-NO-ISEL-NEXT: li 3, 0
30+
; CHECK-NO-ISEL-NEXT: li 4, 1
31+
; CHECK-NO-ISEL-NEXT: #APP
32+
; CHECK-NO-ISEL-NEXT: crand 20, 20, 1
33+
; CHECK-NO-ISEL-NEXT: #NO_APP
34+
; CHECK-NO-ISEL-NEXT: bc 12, 20, .LBB0_1
35+
; CHECK-NO-ISEL-NEXT: blr
36+
; CHECK-NO-ISEL-NEXT: .LBB0_1: # %entry
37+
; CHECK-NO-ISEL-NEXT: addi 3, 4, 0
38+
; CHECK-NO-ISEL-NEXT: blr
1039
entry:
1140
%0 = tail call i8 asm "crand $0, $1, $2", "=^wc,^wc,^wc"(i1 %b1, i1 %b2) #0
1241
%1 = and i8 %0, 1
1342
%tobool3 = icmp ne i8 %1, 0
1443
ret i1 %tobool3
1544

16-
; CHECK-LABEL: @testi1
17-
; CHECK-DAG: andi. {{[0-9]+}}, 3, 1
18-
; CHECK-DAG: li [[REG1:[0-9]+]], 0
19-
; CHECK-DAG: crmove [[REG2:[0-9]+]], 1
20-
; CHECK-DAG: andi. {{[0-9]+}}, 4, 1
21-
; CHECK-DAG: crand [[REG3:[0-9]+]], [[REG2]], 1
22-
; CHECK-DAG: li [[REG4:[0-9]+]], 1
23-
; CHECK: isel 3, [[REG4]], [[REG1]], [[REG3]]
24-
; CHECK-NO-ISEL-LABEL: @testi1
25-
; CHECK-NO-ISEL: bc 12, 20,
26-
; CHECK-NO-ISEL: blr
27-
; CHECK-NO-ISEL: addi 3, 4, 0
28-
; CHECK-NO-ISEL-NEXT: blr
29-
; CHECK: blr
3045
}
3146

3247
define signext i32 @testi32(i32 signext %b1, i32 signext %b2) #0 {
48+
; CHECK-LABEL: testi32:
49+
; CHECK: # %bb.0: # %entry
50+
; CHECK-NEXT: andi. 3, 3, 1
51+
; CHECK-NEXT: crmove 20, 1
52+
; CHECK-NEXT: andi. 3, 4, 1
53+
; CHECK-NEXT: li 3, 0
54+
; CHECK-NEXT: li 4, -1
55+
; CHECK-NEXT: #APP
56+
; CHECK-NEXT: crand 20, 20, 1
57+
; CHECK-NEXT: #NO_APP
58+
; CHECK-NEXT: isel 3, 4, 3, 20
59+
; CHECK-NEXT: blr
60+
;
61+
; CHECK-NO-ISEL-LABEL: testi32:
62+
; CHECK-NO-ISEL: # %bb.0: # %entry
63+
; CHECK-NO-ISEL-NEXT: andi. 3, 3, 1
64+
; CHECK-NO-ISEL-NEXT: crmove 20, 1
65+
; CHECK-NO-ISEL-NEXT: andi. 3, 4, 1
66+
; CHECK-NO-ISEL-NEXT: li 3, 0
67+
; CHECK-NO-ISEL-NEXT: li 4, -1
68+
; CHECK-NO-ISEL-NEXT: #APP
69+
; CHECK-NO-ISEL-NEXT: crand 20, 20, 1
70+
; CHECK-NO-ISEL-NEXT: #NO_APP
71+
; CHECK-NO-ISEL-NEXT: bc 12, 20, .LBB1_1
72+
; CHECK-NO-ISEL-NEXT: blr
73+
; CHECK-NO-ISEL-NEXT: .LBB1_1: # %entry
74+
; CHECK-NO-ISEL-NEXT: addi 3, 4, 0
75+
; CHECK-NO-ISEL-NEXT: blr
3376
entry:
3477
%0 = tail call i32 asm "crand $0, $1, $2", "=^wc,^wc,^wc"(i32 %b1, i32 %b2) #0
3578
ret i32 %0
3679

3780
; The ABI sign_extend should combine with the any_extend from the asm result,
3881
; and the result will be 0 or -1. This highlights the fact that only the first
3982
; bit is meaningful.
40-
; CHECK-LABEL: @testi32
41-
; CHECK-DAG: andi. {{[0-9]+}}, 3, 1
42-
; CHECK-DAG: li [[REG1:[0-9]+]], 0
43-
; CHECK-DAG: crmove [[REG2:[0-9]+]], 1
44-
; CHECK-DAG: andi. {{[0-9]+}}, 4, 1
45-
; CHECK-DAG: crand [[REG3:[0-9]+]], [[REG2]], 1
46-
; CHECK-DAG: li [[REG4:[0-9]+]], -1
47-
; CHECK: isel 3, [[REG4]], [[REG1]], [[REG3]]
48-
; CHECK: blr
4983
}
5084

5185
define zeroext i8 @testi8(i8 zeroext %b1, i8 zeroext %b2) #0 {
86+
; CHECK-LABEL: testi8:
87+
; CHECK: # %bb.0: # %entry
88+
; CHECK-NEXT: andi. 3, 3, 1
89+
; CHECK-NEXT: crmove 20, 1
90+
; CHECK-NEXT: andi. 3, 4, 1
91+
; CHECK-NEXT: li 3, 0
92+
; CHECK-NEXT: li 4, 1
93+
; CHECK-NEXT: #APP
94+
; CHECK-NEXT: crand 20, 20, 1
95+
; CHECK-NEXT: #NO_APP
96+
; CHECK-NEXT: isel 3, 4, 3, 20
97+
; CHECK-NEXT: blr
98+
;
99+
; CHECK-NO-ISEL-LABEL: testi8:
100+
; CHECK-NO-ISEL: # %bb.0: # %entry
101+
; CHECK-NO-ISEL-NEXT: andi. 3, 3, 1
102+
; CHECK-NO-ISEL-NEXT: crmove 20, 1
103+
; CHECK-NO-ISEL-NEXT: andi. 3, 4, 1
104+
; CHECK-NO-ISEL-NEXT: li 3, 0
105+
; CHECK-NO-ISEL-NEXT: li 4, 1
106+
; CHECK-NO-ISEL-NEXT: #APP
107+
; CHECK-NO-ISEL-NEXT: crand 20, 20, 1
108+
; CHECK-NO-ISEL-NEXT: #NO_APP
109+
; CHECK-NO-ISEL-NEXT: bc 12, 20, .LBB2_1
110+
; CHECK-NO-ISEL-NEXT: blr
111+
; CHECK-NO-ISEL-NEXT: .LBB2_1: # %entry
112+
; CHECK-NO-ISEL-NEXT: addi 3, 4, 0
113+
; CHECK-NO-ISEL-NEXT: blr
52114
entry:
53115
%0 = tail call i8 asm "crand $0, $1, $2", "=^wc,^wc,^wc"(i8 %b1, i8 %b2) #0
54116
ret i8 %0
55117

56-
; CHECK-LABEL: @testi8
57-
; CHECK-DAG: andi. {{[0-9]+}}, 3, 1
58-
; CHECK-DAG: li [[REG1:[0-9]+]], 0
59-
; CHECK-DAG: crmove [[REG2:[0-9]+]], 1
60-
; CHECK-DAG: andi. {{[0-9]+}}, 4, 1
61-
; CHECK-DAG: crand [[REG3:[0-9]+]], [[REG2]], 1
62-
; CHECK-DAG: li [[REG4:[0-9]+]], 1
63-
; CHECK: isel 3, [[REG4]], [[REG1]], [[REG3]]
64-
; CHECK: blr
65118
}
66119

67120
attributes #0 = { nounwind "target-features"="+crbits" }

0 commit comments

Comments
 (0)