llvm.org GIT mirror llvm / 5dee350
[AArch64]Fix improper diagnostics about offset range of load/store instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202775 91177308-0d34-0410-b5e6-96231b3b80d8 Kevin Qin 6 years ago
2 changed file(s) with 34 addition(s) and 34 deletion(s). Raw diff Collapse all Expand all
25082508 "expected integer multiple of 4 in range [-256, 252]");
25092509 case Match_LoadStoreSImm7_8:
25102510 return Error(((AArch64Operand*)Operands[ErrorInfo])->getStartLoc(),
2511 "expected integer multiple of 8 in range [-512, 508]");
2511 "expected integer multiple of 8 in range [-512, 504]");
25122512 case Match_LoadStoreSImm7_16:
25132513 return Error(((AArch64Operand*)Operands[ErrorInfo])->getStartLoc(),
2514 "expected integer multiple of 16 in range [-1024, 1016]");
2514 "expected integer multiple of 16 in range [-1024, 1008]");
25152515 case Match_LoadStoreSImm9:
25162516 return Error(((AArch64Operand*)Operands[ErrorInfo])->getStartLoc(),
25172517 "expected integer in range [-256, 255]");
24772477 ldp x2, x5, [sp, #4]
24782478 ldp x5, x6, [x9, #512]
24792479 stp x7, x8, [x10, #-520]
2480 // CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 508]
2480 // CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 504]
24812481 // CHECK-ERROR-NEXT: ldp x2, x5, [sp, #4]
24822482 // CHECK-ERROR-NEXT: ^
2483 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2483 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
24842484 // CHECK-ERROR-NEXT: ldp x5, x6, [x9, #512]
24852485 // CHECK-ERROR-NEXT: ^
2486 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2486 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
24872487 // CHECK-ERROR-NEXT: stp x7, x8, [x10, #-520]
24882488 // CHECK-ERROR-NEXT: ^
24892489
25152515 // CHECK-ERROR: error: invalid operand for instruction
25162516 // CHECK-ERROR-NEXT: ldp d3, d4, [xzr]
25172517 // CHECK-ERROR-NEXT: ^
2518 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2518 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
25192519 // CHECK-ERROR-NEXT: ldp d5, d6, [x0, #512]
25202520 // CHECK-ERROR-NEXT: ^
2521 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2521 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
25222522 // CHECK-ERROR-NEXT: stp d7, d8, [x0, #-520]
25232523 // CHECK-ERROR-NEXT: ^
25242524
25292529 // CHECK-ERROR: error: invalid operand for instruction
25302530 // CHECK-ERROR-NEXT: ldp d3, q2, [sp]
25312531 // CHECK-ERROR-NEXT: ^
2532 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2532 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
25332533 // CHECK-ERROR-NEXT: ldp q3, q5, [sp, #8]
25342534 // CHECK-ERROR-NEXT: ^
2535 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2535 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
25362536 // CHECK-ERROR-NEXT: stp q20, q25, [x5, #1024]
25372537 // CHECK-ERROR-NEXT: ^
2538 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2538 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
25392539 // CHECK-ERROR-NEXT: ldp q30, q15, [x23, #-1040]
25402540 // CHECK-ERROR-NEXT: ^
25412541
25802580 ldp x2, x5, [sp], #4
25812581 ldp x5, x6, [x9], #512
25822582 stp x7, x8, [x10], #-520
2583 // CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 508]
2583 // CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 504]
25842584 // CHECK-ERROR-NEXT: ldp x2, x5, [sp], #4
25852585 // CHECK-ERROR-NEXT: ^
2586 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2586 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
25872587 // CHECK-ERROR-NEXT: ldp x5, x6, [x9], #512
25882588 // CHECK-ERROR-NEXT: ^
2589 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2589 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
25902590 // CHECK-ERROR-NEXT: stp x7, x8, [x10], #-520
25912591 // CHECK-ERROR-NEXT: ^
25922592
26182618 // CHECK-ERROR: error: invalid operand for instruction
26192619 // CHECK-ERROR-NEXT: ldp d3, d4, [xzr], #0
26202620 // CHECK-ERROR-NEXT: ^
2621 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2621 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
26222622 // CHECK-ERROR-NEXT: ldp d5, d6, [x0], #512
26232623 // CHECK-ERROR-NEXT: ^
2624 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2624 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
26252625 // CHECK-ERROR-NEXT: stp d7, d8, [x0], #-520
26262626 // CHECK-ERROR-NEXT: ^
26272627
26322632 // CHECK-ERROR: error: invalid operand for instruction
26332633 // CHECK-ERROR-NEXT: ldp d3, q2, [sp], #0
26342634 // CHECK-ERROR-NEXT: ^
2635 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2635 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
26362636 // CHECK-ERROR-NEXT: ldp q3, q5, [sp], #8
26372637 // CHECK-ERROR-NEXT: ^
2638 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2638 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
26392639 // CHECK-ERROR-NEXT: stp q20, q25, [x5], #1024
26402640 // CHECK-ERROR-NEXT: ^
2641 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2641 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
26422642 // CHECK-ERROR-NEXT: ldp q30, q15, [x23], #-1040
26432643 // CHECK-ERROR-NEXT: ^
26442644
26832683 ldp x2, x5, [sp, #4]!
26842684 ldp x5, x6, [x9, #512]!
26852685 stp x7, x8, [x10, #-520]!
2686 // CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 508]
2686 // CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 504]
26872687 // CHECK-ERROR-NEXT: ldp x2, x5, [sp, #4]!
26882688 // CHECK-ERROR-NEXT: ^
2689 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2689 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
26902690 // CHECK-ERROR-NEXT: ldp x5, x6, [x9, #512]!
26912691 // CHECK-ERROR-NEXT: ^
2692 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2692 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
26932693 // CHECK-ERROR-NEXT: stp x7, x8, [x10, #-520]!
26942694 // CHECK-ERROR-NEXT: ^
26952695
27212721 // CHECK-ERROR: error: invalid operand for instruction
27222722 // CHECK-ERROR-NEXT: ldp d3, d4, [xzr, #0]!
27232723 // CHECK-ERROR-NEXT: ^
2724 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2724 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
27252725 // CHECK-ERROR-NEXT: ldp d5, d6, [x0, #512]!
27262726 // CHECK-ERROR-NEXT: ^
2727 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2727 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
27282728 // CHECK-ERROR-NEXT: stp d7, d8, [x0, #-520]!
27292729 // CHECK-ERROR-NEXT: ^
27302730
27352735 // CHECK-ERROR: error: invalid operand for instruction
27362736 // CHECK-ERROR-NEXT: ldp d3, q2, [sp, #0]!
27372737 // CHECK-ERROR-NEXT: ^
2738 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2738 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
27392739 // CHECK-ERROR-NEXT: ldp q3, q5, [sp, #8]!
27402740 // CHECK-ERROR-NEXT: ^
2741 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2741 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
27422742 // CHECK-ERROR-NEXT: stp q20, q25, [x5, #1024]!
27432743 // CHECK-ERROR-NEXT: ^
2744 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2744 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
27452745 // CHECK-ERROR-NEXT: ldp q30, q15, [x23, #-1040]!
27462746 // CHECK-ERROR-NEXT: ^
27472747
27722772 ldnp x2, x5, [sp, #4]
27732773 ldnp x5, x6, [x9, #512]
27742774 stnp x7, x8, [x10, #-520]
2775 // CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 508]
2775 // CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 504]
27762776 // CHECK-ERROR-NEXT: ldnp x2, x5, [sp, #4]
27772777 // CHECK-ERROR-NEXT: ^
2778 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2778 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
27792779 // CHECK-ERROR-NEXT: ldnp x5, x6, [x9, #512]
27802780 // CHECK-ERROR-NEXT: ^
2781 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2781 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
27822782 // CHECK-ERROR-NEXT: stnp x7, x8, [x10, #-520]
27832783 // CHECK-ERROR-NEXT: ^
27842784
28102810 // CHECK-ERROR: error: invalid operand for instruction
28112811 // CHECK-ERROR-NEXT: ldnp d3, d4, [xzr]
28122812 // CHECK-ERROR-NEXT: ^
2813 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2813 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
28142814 // CHECK-ERROR-NEXT: ldnp d5, d6, [x0, #512]
28152815 // CHECK-ERROR-NEXT: ^
2816 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508]
2816 // CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 504]
28172817 // CHECK-ERROR-NEXT: stnp d7, d8, [x0, #-520]
28182818 // CHECK-ERROR-NEXT: ^
28192819
28242824 // CHECK-ERROR: error: invalid operand for instruction
28252825 // CHECK-ERROR-NEXT: ldnp d3, q2, [sp]
28262826 // CHECK-ERROR-NEXT: ^
2827 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2827 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
28282828 // CHECK-ERROR-NEXT: ldnp q3, q5, [sp, #8]
28292829 // CHECK-ERROR-NEXT: ^
2830 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2830 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
28312831 // CHECK-ERROR-NEXT: stnp q20, q25, [x5, #1024]
28322832 // CHECK-ERROR-NEXT: ^
2833 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016]
2833 // CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1008]
28342834 // CHECK-ERROR-NEXT: ldnp q30, q15, [x23, #-1040]
28352835 // CHECK-ERROR-NEXT: ^
28362836