Skip to content

Commit 0d8cd4e

Browse files
committed
[AArch64InstPrinter] Change printAddSubImm to comment imm value when shifted
Add a comment when there is a shifted value, add x9, x0, #291, lsl #12 ; =1191936 but not when the immediate value is unshifted, subs x9, x0, #256 ; =256 when the comment adds nothing additional to the reader. Differential Revision: https://reviews.llvm.org/D107196
1 parent 9b50844 commit 0d8cd4e

File tree

116 files changed

+1025
-1025
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+1025
-1025
lines changed

llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -1026,11 +1026,11 @@ void AArch64InstPrinter::printAddSubImm(const MCInst *MI, unsigned OpNum,
10261026
unsigned Shift =
10271027
AArch64_AM::getShiftValue(MI->getOperand(OpNum + 1).getImm());
10281028
O << '#' << formatImm(Val);
1029-
if (Shift != 0)
1029+
if (Shift != 0) {
10301030
printShifter(MI, OpNum + 1, STI, O);
1031-
1032-
if (CommentStream)
1033-
*CommentStream << '=' << formatImm(Val << Shift) << '\n';
1031+
if (CommentStream)
1032+
*CommentStream << '=' << formatImm(Val << Shift) << '\n';
1033+
}
10341034
} else {
10351035
assert(MO.isExpr() && "Unexpected operand type!");
10361036
MO.getExpr()->print(O, &MAI);

llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll

+30-30
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ define void @val_compare_and_swap(i128* %p, i128 %oldval, i128 %newval) {
6565
;
6666
; CHECK-CAS-O0-LABEL: val_compare_and_swap:
6767
; CHECK-CAS-O0: // %bb.0:
68-
; CHECK-CAS-O0-NEXT: sub sp, sp, #16 // =16
68+
; CHECK-CAS-O0-NEXT: sub sp, sp, #16
6969
; CHECK-CAS-O0-NEXT: .cfi_def_cfa_offset 16
7070
; CHECK-CAS-O0-NEXT: str x3, [sp, #8] // 8-byte Folded Spill
7171
; CHECK-CAS-O0-NEXT: mov x1, x5
@@ -81,7 +81,7 @@ define void @val_compare_and_swap(i128* %p, i128 %oldval, i128 %newval) {
8181
; CHECK-CAS-O0-NEXT: mov v0.d[0], x9
8282
; CHECK-CAS-O0-NEXT: mov v0.d[1], x8
8383
; CHECK-CAS-O0-NEXT: str q0, [x0]
84-
; CHECK-CAS-O0-NEXT: add sp, sp, #16 // =16
84+
; CHECK-CAS-O0-NEXT: add sp, sp, #16
8585
; CHECK-CAS-O0-NEXT: ret
8686

8787
%pair = cmpxchg i128* %p, i128 %oldval, i128 %newval acquire acquire
@@ -150,7 +150,7 @@ define void @val_compare_and_swap_monotonic_seqcst(i128* %p, i128 %oldval, i128
150150
;
151151
; CHECK-CAS-O0-LABEL: val_compare_and_swap_monotonic_seqcst:
152152
; CHECK-CAS-O0: // %bb.0:
153-
; CHECK-CAS-O0-NEXT: sub sp, sp, #16 // =16
153+
; CHECK-CAS-O0-NEXT: sub sp, sp, #16
154154
; CHECK-CAS-O0-NEXT: .cfi_def_cfa_offset 16
155155
; CHECK-CAS-O0-NEXT: str x3, [sp, #8] // 8-byte Folded Spill
156156
; CHECK-CAS-O0-NEXT: mov x1, x5
@@ -166,7 +166,7 @@ define void @val_compare_and_swap_monotonic_seqcst(i128* %p, i128 %oldval, i128
166166
; CHECK-CAS-O0-NEXT: mov v0.d[0], x9
167167
; CHECK-CAS-O0-NEXT: mov v0.d[1], x8
168168
; CHECK-CAS-O0-NEXT: str q0, [x0]
169-
; CHECK-CAS-O0-NEXT: add sp, sp, #16 // =16
169+
; CHECK-CAS-O0-NEXT: add sp, sp, #16
170170
; CHECK-CAS-O0-NEXT: ret
171171

172172
%pair = cmpxchg i128* %p, i128 %oldval, i128 %newval monotonic seq_cst
@@ -235,7 +235,7 @@ define void @val_compare_and_swap_release_acquire(i128* %p, i128 %oldval, i128 %
235235
;
236236
; CHECK-CAS-O0-LABEL: val_compare_and_swap_release_acquire:
237237
; CHECK-CAS-O0: // %bb.0:
238-
; CHECK-CAS-O0-NEXT: sub sp, sp, #16 // =16
238+
; CHECK-CAS-O0-NEXT: sub sp, sp, #16
239239
; CHECK-CAS-O0-NEXT: .cfi_def_cfa_offset 16
240240
; CHECK-CAS-O0-NEXT: str x3, [sp, #8] // 8-byte Folded Spill
241241
; CHECK-CAS-O0-NEXT: mov x1, x5
@@ -251,7 +251,7 @@ define void @val_compare_and_swap_release_acquire(i128* %p, i128 %oldval, i128 %
251251
; CHECK-CAS-O0-NEXT: mov v0.d[0], x9
252252
; CHECK-CAS-O0-NEXT: mov v0.d[1], x8
253253
; CHECK-CAS-O0-NEXT: str q0, [x0]
254-
; CHECK-CAS-O0-NEXT: add sp, sp, #16 // =16
254+
; CHECK-CAS-O0-NEXT: add sp, sp, #16
255255
; CHECK-CAS-O0-NEXT: ret
256256

257257
%pair = cmpxchg i128* %p, i128 %oldval, i128 %newval release acquire
@@ -320,7 +320,7 @@ define void @val_compare_and_swap_monotonic(i128* %p, i128 %oldval, i128 %newval
320320
;
321321
; CHECK-CAS-O0-LABEL: val_compare_and_swap_monotonic:
322322
; CHECK-CAS-O0: // %bb.0:
323-
; CHECK-CAS-O0-NEXT: sub sp, sp, #16 // =16
323+
; CHECK-CAS-O0-NEXT: sub sp, sp, #16
324324
; CHECK-CAS-O0-NEXT: .cfi_def_cfa_offset 16
325325
; CHECK-CAS-O0-NEXT: str x3, [sp, #8] // 8-byte Folded Spill
326326
; CHECK-CAS-O0-NEXT: mov x1, x5
@@ -336,7 +336,7 @@ define void @val_compare_and_swap_monotonic(i128* %p, i128 %oldval, i128 %newval
336336
; CHECK-CAS-O0-NEXT: mov v0.d[0], x9
337337
; CHECK-CAS-O0-NEXT: mov v0.d[1], x8
338338
; CHECK-CAS-O0-NEXT: str q0, [x0]
339-
; CHECK-CAS-O0-NEXT: add sp, sp, #16 // =16
339+
; CHECK-CAS-O0-NEXT: add sp, sp, #16
340340
; CHECK-CAS-O0-NEXT: ret
341341
%pair = cmpxchg i128* %p, i128 %oldval, i128 %newval release acquire
342342
%val = extractvalue { i128, i1 } %pair, 0
@@ -373,7 +373,7 @@ define void @atomic_load_relaxed(i64, i64, i128* %p, i128* %p2) {
373373
;
374374
; CHECK-LLSC-O0-LABEL: atomic_load_relaxed:
375375
; CHECK-LLSC-O0: // %bb.0:
376-
; CHECK-LLSC-O0-NEXT: sub sp, sp, #64 // =64
376+
; CHECK-LLSC-O0-NEXT: sub sp, sp, #64
377377
; CHECK-LLSC-O0-NEXT: .cfi_def_cfa_offset 64
378378
; CHECK-LLSC-O0-NEXT: str x2, [sp, #48] // 8-byte Folded Spill
379379
; CHECK-LLSC-O0-NEXT: str x3, [sp, #56] // 8-byte Folded Spill
@@ -388,17 +388,17 @@ define void @atomic_load_relaxed(i64, i64, i128* %p, i128* %p2) {
388388
; CHECK-LLSC-O0-NEXT: mov w10, #64
389389
; CHECK-LLSC-O0-NEXT: // kill: def $x10 killed $w10
390390
; CHECK-LLSC-O0-NEXT: str x10, [sp, #8] // 8-byte Folded Spill
391-
; CHECK-LLSC-O0-NEXT: subs x16, x10, #64 // =64
392-
; CHECK-LLSC-O0-NEXT: subs x13, x8, #64 // =64
391+
; CHECK-LLSC-O0-NEXT: subs x16, x10, #64
392+
; CHECK-LLSC-O0-NEXT: subs x13, x8, #64
393393
; CHECK-LLSC-O0-NEXT: lsl x14, x15, x10
394394
; CHECK-LLSC-O0-NEXT: lsr x13, x15, x13
395395
; CHECK-LLSC-O0-NEXT: orr x13, x13, x12
396396
; CHECK-LLSC-O0-NEXT: lsl x15, x15, x16
397-
; CHECK-LLSC-O0-NEXT: subs x16, x10, #64 // =64
397+
; CHECK-LLSC-O0-NEXT: subs x16, x10, #64
398398
; CHECK-LLSC-O0-NEXT: csel x14, x14, x12, lo
399-
; CHECK-LLSC-O0-NEXT: subs x16, x10, #64 // =64
399+
; CHECK-LLSC-O0-NEXT: subs x16, x10, #64
400400
; CHECK-LLSC-O0-NEXT: csel x13, x13, x15, lo
401-
; CHECK-LLSC-O0-NEXT: subs x15, x10, #0 // =0
401+
; CHECK-LLSC-O0-NEXT: subs x15, x10, #0
402402
; CHECK-LLSC-O0-NEXT: csel x13, x12, x13, eq
403403
; CHECK-LLSC-O0-NEXT: orr x9, x9, x14
404404
; CHECK-LLSC-O0-NEXT: orr x12, x12, x13
@@ -407,14 +407,14 @@ define void @atomic_load_relaxed(i64, i64, i128* %p, i128* %p2) {
407407
; CHECK-LLSC-O0-NEXT: str q0, [sp, #16] // 16-byte Folded Spill
408408
; CHECK-LLSC-O0-NEXT: mov v0.d[1], x12
409409
; CHECK-LLSC-O0-NEXT: str q0, [sp, #32] // 16-byte Folded Spill
410-
; CHECK-LLSC-O0-NEXT: subs x13, x10, #64 // =64
411-
; CHECK-LLSC-O0-NEXT: subs x8, x8, #64 // =64
410+
; CHECK-LLSC-O0-NEXT: subs x13, x10, #64
411+
; CHECK-LLSC-O0-NEXT: subs x8, x8, #64
412412
; CHECK-LLSC-O0-NEXT: lsl x8, x12, x8
413413
; CHECK-LLSC-O0-NEXT: orr x8, x8, x9, lsr #0
414414
; CHECK-LLSC-O0-NEXT: lsr x12, x12, x13
415-
; CHECK-LLSC-O0-NEXT: subs x13, x10, #64 // =64
415+
; CHECK-LLSC-O0-NEXT: subs x13, x10, #64
416416
; CHECK-LLSC-O0-NEXT: csel x8, x8, x12, lo
417-
; CHECK-LLSC-O0-NEXT: subs x10, x10, #0 // =0
417+
; CHECK-LLSC-O0-NEXT: subs x10, x10, #0
418418
; CHECK-LLSC-O0-NEXT: csel x10, x9, x8, eq
419419
; CHECK-LLSC-O0-NEXT: stxp w8, x9, x10, [x11]
420420
; CHECK-LLSC-O0-NEXT: cbnz w8, .LBB4_1
@@ -423,12 +423,12 @@ define void @atomic_load_relaxed(i64, i64, i128* %p, i128* %p2) {
423423
; CHECK-LLSC-O0-NEXT: ldr q0, [sp, #32] // 16-byte Folded Reload
424424
; CHECK-LLSC-O0-NEXT: ldr x8, [sp, #56] // 8-byte Folded Reload
425425
; CHECK-LLSC-O0-NEXT: str q0, [x8]
426-
; CHECK-LLSC-O0-NEXT: add sp, sp, #64 // =64
426+
; CHECK-LLSC-O0-NEXT: add sp, sp, #64
427427
; CHECK-LLSC-O0-NEXT: ret
428428
;
429429
; CHECK-CAS-O0-LABEL: atomic_load_relaxed:
430430
; CHECK-CAS-O0: // %bb.0:
431-
; CHECK-CAS-O0-NEXT: sub sp, sp, #64 // =64
431+
; CHECK-CAS-O0-NEXT: sub sp, sp, #64
432432
; CHECK-CAS-O0-NEXT: .cfi_def_cfa_offset 64
433433
; CHECK-CAS-O0-NEXT: str x2, [sp, #48] // 8-byte Folded Spill
434434
; CHECK-CAS-O0-NEXT: str x3, [sp, #56] // 8-byte Folded Spill
@@ -443,17 +443,17 @@ define void @atomic_load_relaxed(i64, i64, i128* %p, i128* %p2) {
443443
; CHECK-CAS-O0-NEXT: mov w10, #64
444444
; CHECK-CAS-O0-NEXT: // kill: def $x10 killed $w10
445445
; CHECK-CAS-O0-NEXT: str x10, [sp, #8] // 8-byte Folded Spill
446-
; CHECK-CAS-O0-NEXT: subs x16, x10, #64 // =64
447-
; CHECK-CAS-O0-NEXT: subs x13, x8, #64 // =64
446+
; CHECK-CAS-O0-NEXT: subs x16, x10, #64
447+
; CHECK-CAS-O0-NEXT: subs x13, x8, #64
448448
; CHECK-CAS-O0-NEXT: lsl x14, x15, x10
449449
; CHECK-CAS-O0-NEXT: lsr x13, x15, x13
450450
; CHECK-CAS-O0-NEXT: orr x13, x13, x12
451451
; CHECK-CAS-O0-NEXT: lsl x15, x15, x16
452-
; CHECK-CAS-O0-NEXT: subs x16, x10, #64 // =64
452+
; CHECK-CAS-O0-NEXT: subs x16, x10, #64
453453
; CHECK-CAS-O0-NEXT: csel x14, x14, x12, lo
454-
; CHECK-CAS-O0-NEXT: subs x16, x10, #64 // =64
454+
; CHECK-CAS-O0-NEXT: subs x16, x10, #64
455455
; CHECK-CAS-O0-NEXT: csel x13, x13, x15, lo
456-
; CHECK-CAS-O0-NEXT: subs x15, x10, #0 // =0
456+
; CHECK-CAS-O0-NEXT: subs x15, x10, #0
457457
; CHECK-CAS-O0-NEXT: csel x13, x12, x13, eq
458458
; CHECK-CAS-O0-NEXT: orr x9, x9, x14
459459
; CHECK-CAS-O0-NEXT: orr x12, x12, x13
@@ -462,14 +462,14 @@ define void @atomic_load_relaxed(i64, i64, i128* %p, i128* %p2) {
462462
; CHECK-CAS-O0-NEXT: str q0, [sp, #16] // 16-byte Folded Spill
463463
; CHECK-CAS-O0-NEXT: mov v0.d[1], x12
464464
; CHECK-CAS-O0-NEXT: str q0, [sp, #32] // 16-byte Folded Spill
465-
; CHECK-CAS-O0-NEXT: subs x13, x10, #64 // =64
466-
; CHECK-CAS-O0-NEXT: subs x8, x8, #64 // =64
465+
; CHECK-CAS-O0-NEXT: subs x13, x10, #64
466+
; CHECK-CAS-O0-NEXT: subs x8, x8, #64
467467
; CHECK-CAS-O0-NEXT: lsl x8, x12, x8
468468
; CHECK-CAS-O0-NEXT: orr x8, x8, x9, lsr #0
469469
; CHECK-CAS-O0-NEXT: lsr x12, x12, x13
470-
; CHECK-CAS-O0-NEXT: subs x13, x10, #64 // =64
470+
; CHECK-CAS-O0-NEXT: subs x13, x10, #64
471471
; CHECK-CAS-O0-NEXT: csel x8, x8, x12, lo
472-
; CHECK-CAS-O0-NEXT: subs x10, x10, #0 // =0
472+
; CHECK-CAS-O0-NEXT: subs x10, x10, #0
473473
; CHECK-CAS-O0-NEXT: csel x10, x9, x8, eq
474474
; CHECK-CAS-O0-NEXT: stxp w8, x9, x10, [x11]
475475
; CHECK-CAS-O0-NEXT: cbnz w8, .LBB4_1
@@ -478,7 +478,7 @@ define void @atomic_load_relaxed(i64, i64, i128* %p, i128* %p2) {
478478
; CHECK-CAS-O0-NEXT: ldr q0, [sp, #32] // 16-byte Folded Reload
479479
; CHECK-CAS-O0-NEXT: ldr x8, [sp, #56] // 8-byte Folded Reload
480480
; CHECK-CAS-O0-NEXT: str q0, [x8]
481-
; CHECK-CAS-O0-NEXT: add sp, sp, #64 // =64
481+
; CHECK-CAS-O0-NEXT: add sp, sp, #64
482482
; CHECK-CAS-O0-NEXT: ret
483483

484484
%r = load atomic i128, i128* %p monotonic, align 16

0 commit comments

Comments
 (0)