b43-asm: Allow complex immediates in M and S operands.
authorMichael Buesch <mb@bu3sch.de>
Thu, 5 Jun 2008 15:50:14 +0000 (17:50 +0200)
committerMichael Buesch <mb@bu3sch.de>
Thu, 5 Jun 2008 15:50:14 +0000 (17:50 +0200)
Signed-off-by: Michael Buesch <mb@bu3sch.de>
assembler/parser.y
assembler/test.asm

index 84a5c2466bd7a3c70970b0d6378df69222dedd95..f0151211741a9073e532eb690fbf681dcb2f1d99 100644 (file)
@@ -987,7 +987,7 @@ raw_code    : RAW_CODE {
                  }
                ;
 
-extended_operlist : decnum COMMA decnum COMMA operand COMMA operand COMMA operand {
+extended_operlist : imm_value COMMA imm_value COMMA operand COMMA operand COMMA operand {
                        struct operlist *ol = xmalloc(sizeof(struct operlist));
                        struct operand *mask_oper = xmalloc(sizeof(struct operand));
                        struct operand *shift_oper = xmalloc(sizeof(struct operand));
index b0e86d903188819ee087ac739751fbe2d89ce6eb..54dafed419445b9f360c82fe5be076f6e1b4f1ea 100644 (file)
@@ -169,6 +169,7 @@ function_b:
        mov     testlabel, r0           /* Can use label as immediate value */
        mov r0,r1;mov r2, r3            /* ; does split instructions */
        mov     [(1+1)],[(2+2),off0]    /* Can use complex immediates as memory offsets */
+       orx     (0 + 1), (1 * 2), 0, 0, r0 /* Allow complex immediates as M or S */
 
 
 /* The .initvals section generates an "Initial Values" file