189 lines · plain
1# RUN: llvm-mc -filetype=obj -triple mips64 -mcpu=mips64 %s -o - \2# RUN: | llvm-objdump --no-print-imm-hex -d -r - | FileCheck %s --check-prefix=MIPS643# RUN: llvm-mc -filetype=obj -triple mips64 -mcpu=mips64r6 %s -o - \4# RUN: | llvm-objdump --no-print-imm-hex -d -r - | FileCheck %s --check-prefix=MIPS64R65 6lld $2, 128($sp)7# MIPS64: d3 a2 00 80 lld $2, 128($sp)8# MIPS64R6: 7f a2 40 37 lld $2, 128($sp)9 10lld $2, -128($sp)11# MIPS64: d3 a2 ff 80 lld $2, -128($sp)12# MIPS64R6: 7f a2 c0 37 lld $2, -128($sp)13 14lld $2, 256($sp)15# MIPS64: d3 a2 01 00 lld $2, 256($sp)16 17# MIPS64R6: 67 a2 01 00 daddiu $2, $sp, 25618# MIPS64R6-NEXT: 7c 42 00 37 lld $2, 0($2)19 20lld $2, -257($sp)21# MIPS64: d3 a2 fe ff lld $2, -257($sp)22 23# MIPS64R6: 67 a2 fe ff daddiu $2, $sp, -25724# MIPS64R6-NEXT: 7c 42 00 37 lld $2, 0($2)25 26lld $2, 32767($sp)27# MIPS64: d3 a2 7f ff lld $2, 32767($sp)28 29# MIPS64R6: 67 a2 7f ff daddiu $2, $sp, 3276730# MIPS64R6-NEXT: 7c 42 00 37 lld $2, 0($2)31 32lld $2, 32768($sp)33# MIPS64: 3c 02 00 01 lui $2, 134# MIPS64-NEXT: 00 5d 10 2d daddu $2, $2, $sp35# MIPS64-NEXT: d0 42 80 00 lld $2, -32768($2)36 37# MIPS64R6: 34 02 80 00 ori $2, $zero, 3276838# MIPS64R6-NEXT: 00 5d 10 2d daddu $2, $2, $sp39# MIPS64R6-NEXT: 7c 42 00 37 lld $2, 0($2)40 41lld $2, -32768($sp)42# MIPS64: d3 a2 80 00 lld $2, -32768($sp)43 44# MIPS64R6: 67 a2 80 00 daddiu $2, $sp, -3276845# MIPS64R6-NEXT: 7c 42 00 37 lld $2, 0($2)46 47lld $2, -32769($sp)48# MIPS64: 3c 02 ff ff lui $2, 6553549# MIPS64-NEXT: 00 5d 10 2d daddu $2, $2, $sp50# MIPS64-NEXT: d0 42 7f ff lld $2, 32767($2)51 52# MIPS64R6: 3c 02 ff ff aui $2, $zero, 6553553# MIPS64R6-NEXT: 34 42 7f ff ori $2, $2, 3276754# MIPS64R6-NEXT: 00 5d 10 2d daddu $2, $2, $sp55# MIPS64R6-NEXT: 7c 42 00 37 lld $2, 0($2)56 57lld $2, 2147483648($sp)58# MIPS64: 34 02 80 00 ori $2, $zero, 3276859# MIPS64-NEXT: 00 02 14 38 dsll $2, $2, 1660# MIPS64-NEXT: 00 5d 10 2d daddu $2, $2, $sp61# MIPS64-NEXT: d0 42 00 00 lld $2, 0($2)62 63# MIPS64R6: 34 02 80 00 ori $2, $zero, 3276864# MIPS64R6-NEXT: 00 02 14 38 dsll $2, $2, 1665# MIPS64R6-NEXT: 00 5d 10 2d daddu $2, $2, $sp66# MIPS64R6-NEXT: 7c 42 00 37 lld $2, 0($2)67 68lld $2, -2147483648($sp)69# MIPS64: 3c 02 80 00 lui $2, 3276870# MIPS64-NEXT: 00 5d 10 2d daddu $2, $2, $sp71# MIPS64-NEXT: d0 42 00 00 lld $2, 0($2)72 73# MIPS64R6: 3c 02 80 00 aui $2, $zero, 3276874# MIPS64R6-NEXT: 00 5d 10 2d daddu $2, $2, $sp75# MIPS64R6-NEXT: 7c 42 00 37 lld $2, 0($2)76 77lld $2, 9223372036853775808($sp)78# MIPS64: 3c 02 7f ff lui $2, 3276779# MIPS64-NEXT: 34 42 ff ff ori $2, $2, 6553580# MIPS64-NEXT: 00 02 14 38 dsll $2, $2, 1681# MIPS64-NEXT: 34 42 ff f1 ori $2, $2, 6552182# MIPS64-NEXT: 00 02 14 38 dsll $2, $2, 1683# MIPS64-NEXT: 00 5d 10 2d daddu $2, $2, $sp84# MIPS64-NEXT: d0 42 bd c0 lld $2, -16960($2)85 86# MIPS64R6: 3c 02 7f ff aui $2, $zero, 3276787# MIPS64R6-NEXT: 34 42 ff ff ori $2, $2, 6553588# MIPS64R6-NEXT: 00 02 14 38 dsll $2, $2, 1689# MIPS64R6-NEXT: 34 42 ff f0 ori $2, $2, 6552090# MIPS64R6-NEXT: 00 02 14 38 dsll $2, $2, 1691# MIPS64R6-NEXT: 34 42 bd c0 ori $2, $2, 4857692# MIPS64R6-NEXT: 00 5d 10 2d daddu $2, $2, $sp93# MIPS64R6-NEXT: 7c 42 00 37 lld $2, 0($2)94 95lld $12, symbol96# MIPS64: 3c 0c 00 00 lui $12, 097# MIPS64-NEXT: R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE symbol98# MIPS64-NEXT: 65 8c 00 00 daddiu $12, $12, 099# MIPS64-NEXT: R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE symbol100# MIPS64-NEXT: 00 0c 64 38 dsll $12, $12, 16101# MIPS64-NEXT: 65 8c 00 00 daddiu $12, $12, 0102# MIPS64-NEXT: R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE symbol103# MIPS64-NEXT: 00 0c 64 38 dsll $12, $12, 16104# MIPS64-NEXT: d1 8c 00 00 lld $12, 0($12)105# MIPS64-NEXT: R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE symbol106 107# MIPS64R6: 3c 0c 00 00 aui $12, $zero, 0108# MIPS64R6-NEXT: R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE symbol109# MIPS64R6-NEXT: 3c 01 00 00 aui $1, $zero, 0110# MIPS64R6-NEXT: R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE symbol111# MIPS64R6-NEXT: 65 8c 00 00 daddiu $12, $12, 0112# MIPS64R6-NEXT: R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE symbol113# MIPS64R6-NEXT: 64 21 00 00 daddiu $1, $1, 0114# MIPS64R6-NEXT: R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE symbol115# MIPS64R6-NEXT: 00 0c 60 3c dsll32 $12, $12, 0116# MIPS64R6-NEXT: 01 81 60 2d daddu $12, $12, $1117# MIPS64R6-NEXT: 7d 8c 00 37 lld $12, 0($12)118 119lld $12, symbol($3)120# MIPS64: 3c 0c 00 00 lui $12, 0121# MIPS64-NEXT: R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE symbol122# MIPS64-NEXT: 65 8c 00 00 daddiu $12, $12, 0123# MIPS64-NEXT: R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE symbol124# MIPS64-NEXT: 00 0c 64 38 dsll $12, $12, 16125# MIPS64-NEXT: 65 8c 00 00 daddiu $12, $12, 0126# MIPS64-NEXT: R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE symbol127# MIPS64-NEXT: 00 0c 64 38 dsll $12, $12, 16128# MIPS64-NEXT: 01 83 60 2d daddu $12, $12, $3129# MIPS64-NEXT: d1 8c 00 00 lld $12, 0($12)130# MIPS64-NEXT: R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE symbol131 132# MIPS64R6-NEXT: 3c 0c 00 00 aui $12, $zero, 0133# MIPS64R6-NEXT: R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE symbol134# MIPS64R6-NEXT: 3c 01 00 00 aui $1, $zero, 0135# MIPS64R6-NEXT: R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE symbol136# MIPS64R6-NEXT: 65 8c 00 00 daddiu $12, $12, 0137# MIPS64R6-NEXT: R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE symbol138# MIPS64R6-NEXT: 64 21 00 00 daddiu $1, $1, 0139# MIPS64R6-NEXT: R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE symbol140# MIPS64R6-NEXT: 00 0c 60 3c dsll32 $12, $12, 0141# MIPS64R6-NEXT: 01 81 60 2d daddu $12, $12, $1142# MIPS64R6-NEXT: 01 83 60 2d daddu $12, $12, $3143# MIPS64R6-NEXT: 7d 8c 00 37 lld $12, 0($12)144 145lld $12, symbol+8146# MIPS64: 3c 0c 00 00 lui $12, 0147# MIPS64-NEXT: R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE symbol+0x8148# MIPS64-NEXT: 65 8c 00 00 daddiu $12, $12, 0149# MIPS64-NEXT: R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE symbol+0x8150# MIPS64-NEXT: 00 0c 64 38 dsll $12, $12, 16151# MIPS64-NEXT: 65 8c 00 00 daddiu $12, $12, 0152# MIPS64-NEXT: R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE symbol+0x8153# MIPS64-NEXT: 00 0c 64 38 dsll $12, $12, 16154# MIPS64-NEXT: d1 8c 00 00 lld $12, 0($12)155# MIPS64-NEXT: R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE symbol+0x8156 157# MIPS64R6-NEXT: 3c 0c 00 00 aui $12, $zero, 0158# MIPS64R6-NEXT: R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE symbol+0x8159# MIPS64R6-NEXT: 3c 01 00 00 aui $1, $zero, 0160# MIPS64R6-NEXT: R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE symbol+0x8161# MIPS64R6-NEXT: 65 8c 00 00 daddiu $12, $12, 0162# MIPS64R6-NEXT: R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE symbol+0x8163# MIPS64R6-NEXT: 64 21 00 00 daddiu $1, $1, 0164# MIPS64R6-NEXT: R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE symbol+0x8165# MIPS64R6-NEXT: 00 0c 60 3c dsll32 $12, $12, 0166# MIPS64R6-NEXT: 01 81 60 2d daddu $12, $12, $1167# MIPS64R6-NEXT: 7d 8c 00 37 lld $12, 0($12)168 169.option pic2170 171lld $12, symbol172# MIPS64: df 8c 00 00 ld $12, 0($gp)173# MIPS64-NEXT: R_MIPS_GOT_DISP/R_MIPS_NONE/R_MIPS_NONE symbol174# MIPS64-NEXT: d1 8c 00 00 lld $12, 0($12)175 176# MIPS64R6: df 8c 00 00 ld $12, 0($gp)177# MIPS64R6-NEXT: R_MIPS_GOT_DISP/R_MIPS_NONE/R_MIPS_NONE symbol178# MIPS64R6-NEXT: 7d 8c 00 37 lld $12, 0($12)179 180lld $12, symbol+8181# MIPS64: df 8c 00 00 ld $12, 0($gp)182# MIPS64-NEXT: R_MIPS_GOT_DISP/R_MIPS_NONE/R_MIPS_NONE symbol183# MIPS64-NEXT: d1 8c 00 08 lld $12, 8($12)184 185# MIPS64R6: df 8c 00 00 ld $12, 0($gp)186# MIPS64R6-NEXT: R_MIPS_GOT_DISP/R_MIPS_NONE/R_MIPS_NONE symbol187# MIPS64R6-NEXT: 65 8c 00 08 daddiu $12, $12, 8188# MIPS64R6-NEXT: 7d 8c 00 37 lld $12, 0($12)189