brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 46de1ef Raw
59 lines · c
1void func() {2 3#ifdef __powerpc64__4  __asm__ (5    "mflr 0;"6    "std 0,16(1);"7    "addi 1,1,-24;"8    "mr 31,1;"9    ".cfi_def_cfa_offset 24;"10    "addi 0,0,0;"11    "addi 1,1,24;"12    "ld 0,16(1);"13    ".cfi_def_cfa_offset 0;"14  );15#elif !defined __mips__16	__asm__ (17		"pushq $0x10;"18		".cfi_def_cfa_offset 16;"19		"jmp label;"20		"movq $0x48, %rax;"21"label: subq $0x38, %rax;"22		"movq $0x48, %rcx;"23		"movq $0x48, %rdx;"24		"movq $0x48, %rax;"25		"popq %rax;"26	);27#elif __mips6428   __asm__ (29    "daddiu $sp,$sp,-16;"30    ".cfi_def_cfa_offset 16;"31    "sd $ra,8($sp);"32    ".cfi_offset 31, -8;"33    "daddiu $ra,$zero,0;"34    "ld $ra,8($sp);"35    "daddiu $sp, $sp,16;"36    ".cfi_restore 31;"37    ".cfi_def_cfa_offset 0;"38   );39#else40   // For MIPS3241   __asm__ (42    "addiu $sp,$sp,-8;"43    ".cfi_def_cfa_offset 8;"44    "sw $ra,4($sp);"45    ".cfi_offset 31, -4;"46    "addiu $ra,$zero,0;"47    "lw $ra,4($sp);"48    "addiu $sp,$sp,8;"49    ".cfi_restore 31;"50    ".cfi_def_cfa_offset 0;"51   );52#endif53}54 55int main(int argc, char const *argv[])56{57	func();58}59