|
73 | 73 |
|
74 | 74 | // macros for encoding instructions (little endian versions) |
75 | 75 | #define ASM_XTENSA_ENCODE_RRR(op0, op1, op2, r, s, t) \ |
76 | | - (((op2) << 20) | ((op1) << 16) | ((r) << 12) | ((s) << 8) | ((t) << 4) | (op0)) |
| 76 | + ((((uint32_t)op2) << 20) | (((uint32_t)op1) << 16) | ((r) << 12) | ((s) << 8) | ((t) << 4) | (op0)) |
77 | 77 | #define ASM_XTENSA_ENCODE_RRI4(op0, op1, r, s, t, imm4) \ |
78 | 78 | (((imm4) << 20) | ((op1) << 16) | ((r) << 12) | ((s) << 8) | ((t) << 4) | (op0)) |
79 | 79 | #define ASM_XTENSA_ENCODE_RRI8(op0, r, s, t, imm8) \ |
80 | | - (((imm8) << 16) | ((r) << 12) | ((s) << 8) | ((t) << 4) | (op0)) |
| 80 | + ((((uint32_t)imm8) << 16) | ((r) << 12) | ((s) << 8) | ((t) << 4) | (op0)) |
81 | 81 | #define ASM_XTENSA_ENCODE_RI16(op0, t, imm16) \ |
82 | 82 | (((imm16) << 8) | ((t) << 4) | (op0)) |
83 | 83 | #define ASM_XTENSA_ENCODE_RSR(op0, op1, op2, rs, t) \ |
84 | 84 | (((op2) << 20) | ((op1) << 16) | ((rs) << 8) | ((t) << 4) | (op0)) |
85 | 85 | #define ASM_XTENSA_ENCODE_CALL(op0, n, offset) \ |
86 | 86 | (((offset) << 6) | ((n) << 4) | (op0)) |
87 | 87 | #define ASM_XTENSA_ENCODE_CALLX(op0, op1, op2, r, s, m, n) \ |
88 | | - (((op2) << 20) | ((op1) << 16) | ((r) << 12) | ((s) << 8) | ((m) << 6) | ((n) << 4) | (op0)) |
| 88 | + ((((uint32_t)op2) << 20) | (((uint32_t)op1) << 16) | ((r) << 12) | ((s) << 8) | ((m) << 6) | ((n) << 4) | (op0)) |
89 | 89 | #define ASM_XTENSA_ENCODE_BRI8(op0, r, s, m, n, imm8) \ |
90 | 90 | (((imm8) << 16) | ((r) << 12) | ((s) << 8) | ((m) << 6) | ((n) << 4) | (op0)) |
91 | 91 | #define ASM_XTENSA_ENCODE_BRI12(op0, s, m, n, imm12) \ |
|
0 commit comments