|
@@ -1355,19 +1355,17 @@ do { \
|
|
|
if (sel == 0) \
|
|
|
__asm__ __volatile__( \
|
|
|
".set\tmips64\n\t" \
|
|
|
- "dmfc0\t%M0, " #source "\n\t" \
|
|
|
- "dsll\t%L0, %M0, 32\n\t" \
|
|
|
- "dsra\t%M0, %M0, 32\n\t" \
|
|
|
- "dsra\t%L0, %L0, 32\n\t" \
|
|
|
+ "dmfc0\t%L0, " #source "\n\t" \
|
|
|
+ "dsra\t%M0, %L0, 32\n\t" \
|
|
|
+ "sll\t%L0, %L0, 0\n\t" \
|
|
|
".set\tmips0" \
|
|
|
: "=r" (__val)); \
|
|
|
else \
|
|
|
__asm__ __volatile__( \
|
|
|
".set\tmips64\n\t" \
|
|
|
- "dmfc0\t%M0, " #source ", " #sel "\n\t" \
|
|
|
- "dsll\t%L0, %M0, 32\n\t" \
|
|
|
- "dsra\t%M0, %M0, 32\n\t" \
|
|
|
- "dsra\t%L0, %L0, 32\n\t" \
|
|
|
+ "dmfc0\t%L0, " #source ", " #sel "\n\t" \
|
|
|
+ "dsra\t%M0, %L0, 32\n\t" \
|
|
|
+ "sll\t%L0, %L0, 0\n\t" \
|
|
|
".set\tmips0" \
|
|
|
: "=r" (__val)); \
|
|
|
local_irq_restore(__flags); \
|