Skip to content
This repository was archived by the owner on Sep 2, 2018. It is now read-only.

Commit fad5f5c

Browse files
author
Dylan McKay
committed
[AVR] Fixed relative jump MC tests
1 parent 70f966e commit fad5f5c

File tree

4 files changed

+24
-20
lines changed

4 files changed

+24
-20
lines changed

lib/Target/AVR/AsmParser/AVRAsmParser.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,10 @@ bool AVRAsmParser::ParseOperand(OperandVector &Operands,
455455
// for PC-relative call.
456456
case AsmToken::Dot: {
457457
Parser.Lex(); // eat `.`
458+
if(!Parser.parseExpression(EVal, E)) {
459+
Operands.push_back(AVROperand::CreateImm(EVal, S, E));
460+
return false;
461+
}
458462
}
459463
case AsmToken::Plus:
460464
case AsmToken::Minus: {

test/MC/AVR/inst-brbc.s

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
foo:
55

6-
brbc 3, 8
7-
brbc 0, 0
6+
brbc 3, .+8
7+
brbc 0, .+0
88

99
; CHECK: brbc 3, .+8 ; encoding: [0x1b,0xf4]
1010
; CHECK: brbc 0, .+0 ; encoding: [0xf0,0xf7]

test/MC/AVR/inst-rcall.s

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
foo:
55

6-
rcall 0
7-
rcall -8
8-
rcall 12
9-
rcall 46
10-
11-
; CHECK: rcall 0 ; encoding: [0x00,0xdf]
12-
; CHECK: rcall -8 ; encoding: [0xfa,0xdf]
13-
; CHECK: rcall 12 ; encoding: [0x03,0xd0]
14-
; CHECK: rcall 46 ; encoding: [0x13,0xd0]
6+
rcall .+0
7+
rcall .-8
8+
rcall .+12
9+
rcall .+46
10+
11+
; CHECK: rcall .+0 ; encoding: [0x00,0xdf]
12+
; CHECK: rcall .+8 ; encoding: [0xfa,0xdf]
13+
; CHECK: rcall .+12 ; encoding: [0x03,0xd0]
14+
; CHECK: rcall .+46 ; encoding: [0x13,0xd0]

test/MC/AVR/inst-rjmp.s

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
foo:
55

6-
rjmp 2
7-
rjmp -2
8-
rjmp 8
9-
rjmp 0
10-
11-
; CHECK: rjmp 2 ; encoding: [0x00,0xc0]
12-
; CHECK: rjmp -2 ; encoding: [0xfd,0xcf]
13-
; CHECK: rjmp 8 ; encoding: [0x01,0xc0]
14-
; CHECK: rjmp 0 ; encoding: [0xfc,0xcf]
6+
rjmp .+2
7+
rjmp .-2
8+
rjmp .+8
9+
rjmp .+0
10+
11+
; CHECK: rjmp .+2 ; encoding: [0x00,0xc0]
12+
; CHECK: rjmp .-2 ; encoding: [0xfd,0xcf]
13+
; CHECK: rjmp .+8 ; encoding: [0x01,0xc0]
14+
; CHECK: rjmp .+0 ; encoding: [0xfc,0xcf]

0 commit comments

Comments
 (0)