MIPS: inline asm should use set noreorder instead of set reorder
Open
backend:MIPS
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
```
int f(int a, int b) {
int result;
asm volatile (
"div %1, %2\n\t"
"mflo %0\n"
: "=r" (result)
: "r" (a), "r" (b)
: "hi", "lo"
);
return result;
}
```
It will generates something like:
```
#APP
.set push
.set at
.set macro
.set reorder
div $zero, $4, $5
bnez $5, $tmp0
nop
break 7
$tmp0:
mflo $4
mflo $2
.set pop
#NO_APP
```
It may generate different binary file by
* .C -> .S -> .O
* .C -> .O
Contributor guide
Assessment
This issue has not been assessed yet.