Lines Matching refs:rn

199 (dshcf f-rn      "Register selector n"     ()  11   4)
259 (dshcop rn "Right general purpose register" () h-grc f-rn)
262 (dshcop frn "Single precision register" () h-frc f-rn)
284 (dshcop rn64 "Register n (64 bits)" () h-gr f-rn)
309 (attrs (ISA compact)) (type h-frc) (index f-rn))
329 "add $rm, $rn"
330 (+ (f-op4 3) rn rm (f-sub4 12))
331 (set rn (add rn rm)))
335 "add #$imm8, $rn"
336 (+ (f-op4 7) rn imm8)
337 (set rn (add rn (ext SI (and QI imm8 255)))))
341 "addc $rm, $rn"
342 (+ (f-op4 3) rn rm (f-sub4 14))
344 (set flag (add-cflag rn rm tbit))
345 (set rn (addc rn rm tbit))
350 "addv $rm, $rn"
351 (+ (f-op4 3) rn rm (f-sub4 15))
353 (set t (add-oflag rn rm 0))
354 (set rn (add rn rm))
400 "braf $rn"
401 (+ (f-op4 0) rn (f-sub8 35))
402 (delay 1 (set pc (add (ext DI rn) (add pc 4)))))
420 "bsrf $rn"
421 (+ (f-op4 0) rn (f-sub8 3))
424 (set pc (add (ext DI rn) (add pc 4))))))
462 "cmp/eq $rm, $rn"
463 (+ (f-op4 3) rn rm (f-sub4 0))
464 (set tbit (eq rm rn)))
474 "cmp/ge $rm, $rn"
475 (+ (f-op4 3) rn rm (f-sub4 3))
476 (set tbit (ge rn rm)))
480 "cmp/gt $rm, $rn"
481 (+ (f-op4 3) rn rm (f-sub4 7))
482 (set tbit (gt rn rm)))
486 "cmp/hi $rm, $rn"
487 (+ (f-op4 3) rn rm (f-sub4 6))
488 (set tbit (gtu rn rm)))
492 "cmp/hs $rm, $rn"
493 (+ (f-op4 3) rn rm (f-sub4 2))
494 (set tbit (geu rn rm)))
498 "cmp/pl $rn"
499 (+ (f-op4 4) rn (f-sub8 21))
500 (set tbit (gt rn 0)))
504 "cmp/pz $rn"
505 (+ (f-op4 4) rn (f-sub8 17))
506 (set tbit (ge rn 0)))
510 "cmp/str $rm, $rn"
511 (+ (f-op4 2) rn rm (f-sub4 12))
513 (set temp (xor rm rn))
522 "div0s $rm, $rn"
523 (+ (f-op4 2) rn rm (f-sub4 7))
525 (set qbit (srl rn 31))
527 (set tbit (if BI (eq (srl rm 31) (srl rn 31)) 0 1))))
540 "div1 $rm, $rn"
541 (+ (f-op4 3) rn rm (f-sub4 4))
544 (set qbit (srl rn 31))
545 (set rn (or (sll rn 1) (zext SI tbit)))
549 (set tmp0 rn)
550 (set rn (sub rn rm))
551 (set tmp1 (gtu rn tmp0))
556 (set tmp0 rn)
557 (set rn (add rn rm))
558 (set tmp1 (ltu rn tmp0))
564 (set tmp0 rn)
565 (set rn (add rm rn))
566 (set tmp1 (ltu rn tmp0))
571 (set tmp0 rn)
572 (set rn (sub rn rm))
573 (set tmp1 (gtu rn tmp0))
581 "dmuls.l $rm, $rn"
582 (+ (f-op4 3) rn rm (f-sub4 13))
584 (set result (mul (ext DI rm) (ext DI rn)))
590 "dmulu.l $rm, $rn"
591 (+ (f-op4 3) rn rm (f-sub4 5))
593 (set result (mul (zext DI rm) (zext DI rn)))
599 "dt $rn"
600 (+ (f-op4 4) rn (f-sub8 16))
602 (set rn (sub rn 1))
603 (set tbit (eq rn 0))))
607 "exts.b $rm, $rn"
608 (+ (f-op4 6) rn rm (f-sub4 14))
609 (set rn (ext SI (subword QI rm 3))))
613 "exts.w $rm, $rn"
614 (+ (f-op4 6) rn rm (f-sub4 15))
615 (set rn (ext SI (subword HI rm 1))))
619 "extu.b $rm, $rn"
620 (+ (f-op4 6) rn rm (f-sub4 12))
621 (set rn (zext SI (subword QI rm 3))))
625 "extu.w $rm, $rn"
626 (+ (f-op4 6) rn rm (f-sub4 13))
627 (set rn (zext SI (subword HI rm 1))))
788 "fmov $frm, @$rn"
789 (+ (f-op4 15) rn frm (f-sub4 10))
792 (set (mem SF rn) frm)
795 (set (mem DF rn) (xd frm))
796 (set (mem DF rn) (dr frm)))))
800 "fmov $frm, @-$rn"
801 (+ (f-op4 15) rn frm (f-sub4 11))
805 (set rn (sub rn 4))
806 (set (mem SF rn) frm))
809 (set rn (sub rn 8))
811 (set (mem DF rn) (xd frm))
812 (set (mem DF rn) (dr frm))))))
816 "fmov $frm, @(r0, $rn)"
817 (+ (f-op4 15) rn frm (f-sub4 7))
820 (set (mem SF (add r0 rn)) frm)
823 (set (mem DF (add r0 rn)) (xd frm))
824 (set (mem DF (add r0 rn)) (dr frm)))))
913 "jmp @$rn"
914 (+ (f-op4 4) rn (f-sub8 43))
915 (delay 1 (set pc rn)))
919 "jsr @$rn"
920 (+ (f-op4 4) rn (f-sub8 11))
923 (set pc rn))))
927 "ldc $rn, gbr"
928 (+ (f-op4 4) rn (f-sub8 30))
929 (set gbr rn))
933 "ldc.l @${rn}+, gbr"
934 (+ (f-op4 4) rn (f-sub8 39))
936 (set gbr (mem SI rn))
937 (set rn (add rn 4))))
941 "lds $rn, fpscr"
942 (+ (f-op4 4) rn (f-sub8 106))
943 (set fpscr rn))
947 "lds.l @${rn}+, fpscr"
948 (+ (f-op4 4) rn (f-sub8 102))
950 (set fpscr (mem SI rn))
951 (set rn (add rn 4))))
955 "lds $rn, fpul"
956 (+ (f-op4 4) rn (f-sub8 90))
957 ; Use subword to convert rn's mode.
958 (set fpul (subword SF rn 0)))
962 "lds.l @${rn}+, fpul"
963 (+ (f-op4 4) rn (f-sub8 86))
965 (set fpul (mem SF rn))
966 (set rn (add rn 4))))
970 "lds $rn, mach"
971 (+ (f-op4 4) rn (f-sub8 10))
972 (set mach rn))
976 "lds.l @${rn}+, mach"
977 (+ (f-op4 4) rn (f-sub8 6))
979 (set mach (mem SI rn))
980 (set rn (add rn 4))))
984 "lds $rn, macl"
985 (+ (f-op4 4) rn (f-sub8 26))
986 (set macl rn))
990 "lds.l @${rn}+, macl"
991 (+ (f-op4 4) rn (f-sub8 22))
993 (set macl (mem SI rn))
994 (set rn (add rn 4))))
998 "lds $rn, pr"
999 (+ (f-op4 4) rn (f-sub8 42))
1000 (set pr rn))
1004 "lds.l @${rn}+, pr"
1005 (+ (f-op4 4) rn (f-sub8 38))
1007 (set pr (mem SI rn))
1008 (set rn (add rn 4))))
1012 "mac.l @${rm}+, @${rn}+"
1013 (+ (f-op4 0) rn rm (f-sub4 15))
1015 (set x (mem SI rn))
1016 (set rn (add rn 4))
1017 (if (eq (index-of rn) (index-of rm))
1019 (set rn (add rn 4))
1041 "mac.w @${rm}+, @${rn}+"
1042 (+ (f-op4 4) rn rm (f-sub4 15))
1044 (set x (mem HI rn))
1045 (set rn (add rn 2))
1046 (if (eq (index-of rn) (index-of rm))
1048 (set rn (add rn 2))
1072 "mov #$imm8, $rn"
1073 (+ (f-op4 14) rn imm8)
1074 (set rn (ext DI (and QI imm8 255))))
1078 "mov.b $rm, @$rn"
1079 (+ (f-op4 2) rn rm (f-sub4 0))
1080 (set (mem UQI rn) (subword UQI rm 3)))
1084 "mov.b $rm, @-$rn"
1085 (+ (f-op4 2) rn rm (f-sub4 4))
1087 (set addr (sub rn 1))
1089 (set rn addr)))
1093 "mov.b $rm, @(r0,$rn)"
1094 (+ (f-op4 0) rn rm (f-sub4 4))
1095 (set (mem UQI (add r0 rn)) (subword UQI rm 3)))
1115 "mov.b @$rm, $rn"
1116 (+ (f-op4 6) rn rm (f-sub4 0))
1117 (set rn (ext SI (mem QI rm))))
1121 "mov.b @${rm}+, $rn"
1122 (+ (f-op4 6) rn rm (f-sub4 4))
1125 (if (eq (index-of rm) (index-of rn))
1128 (set rn (ext SI data))))
1132 "mov.b @(r0, $rm), $rn"
1133 (+ (f-op4 0) rn rm (f-sub4 12))
1134 (set rn (ext SI (mem QI (add r0 rm)))))
1150 "mov.l $rm, @$rn"
1151 (+ (f-op4 2) rn rm (f-sub4 2))
1152 (set (mem SI rn) rm))
1156 "mov.l $rm, @-$rn"
1157 (+ (f-op4 2) rn rm (f-sub4 6))
1159 (set addr (sub rn 4))
1161 (set rn addr)))
1165 "mov.l $rm, @(r0, $rn)"
1166 (+ (f-op4 0) rn rm (f-sub4 6))
1167 (set (mem SI (add r0 rn)) rm))
1177 "mov.l $rm, @($imm4x4, $rn)"
1178 (+ (f-op4 1) rn rm imm4x4)
1179 (set (mem SI (add rn imm4x4)) rm))
1183 "mov.l @$rm, $rn"
1184 (+ (f-op4 6) rn rm (f-sub4 2))
1185 (set rn (mem SI rm)))
1189 "mov.l @${rm}+, $rn"
1190 (+ (f-op4 6) rn rm (f-sub4 6))
1192 (set rn (mem SI rm))
1193 (if (eq (index-of rm) (index-of rn))
1194 (set rm rn)
1199 "mov.l @(r0, $rm), $rn"
1200 (+ (f-op4 0) rn rm (f-sub4 14))
1201 (set rn (mem SI (add r0 rm))))
1211 "mov.l @($imm8x4, pc), $rn"
1212 (+ (f-op4 13) rn imm8x4)
1213 (set rn (mem SI (add imm8x4 (and (add pc 4) (inv 3))))))
1217 "mov.l @($imm4x4, $rm), $rn"
1218 (+ (f-op4 5) rn rm imm4x4)
1219 (set rn (mem SI (add rm imm4x4))))
1223 "mov.w $rm, @$rn"
1224 (+ (f-op4 2) rn rm (f-sub4 1))
1225 (set (mem HI rn) (subword HI rm 1)))
1229 "mov.w $rm, @-$rn"
1230 (+ (f-op4 2) rn rm (f-sub4 5))
1232 (set addr (sub rn 2))
1234 (set rn addr)))
1238 "mov.w $rm, @(r0, $rn)"
1239 (+ (f-op4 0) rn rm (f-sub4 5))
1240 (set (mem HI (add r0 rn)) (subword HI rm 1)))
1250 "mov.w r0, @($imm4x2, $rn)"
1251 (+ (f-op8 #x81) rn imm4x2)
1252 (set (mem HI (add rn imm4x2)) (subword HI r0 1)))
1256 "mov.w @$rm, $rn"
1257 (+ (f-op4 6) rn rm (f-sub4 1))
1258 (set rn (ext SI (mem HI rm))))
1262 "mov.w @${rm}+, $rn"
1263 (+ (f-op4 6) rn rm (f-sub4 5))
1266 (if (eq (index-of rm) (index-of rn))
1269 (set rn (ext SI data))))
1273 "mov.w @(r0, $rm), $rn"
1274 (+ (f-op4 0) rn rm (f-sub4 13))
1275 (set rn (ext SI (mem HI (add r0 rm)))))
1285 "mov.w @($imm8x2, pc), $rn"
1286 (+ (f-op4 9) rn imm8x2)
1287 (set rn (ext SI (mem HI (add (add pc 4) imm8x2)))))
1303 "movca.l r0, @$rn"
1304 (+ (f-op4 0) rn (f-sub8 #xc3))
1305 (set (mem SI rn) r0))
1309 "movt $rn"
1310 (+ (f-op4 0) rn (f-sub8 41))
1311 (set rn (zext SI tbit)))
1315 "mul.l $rm, $rn"
1316 (+ (f-op4 0) rn rm (f-sub4 7))
1317 (set macl (mul rm rn)))
1321 "muls.w $rm, $rn"
1322 (+ (f-op4 2) rn rm (f-sub4 15))
1323 (set macl (mul (ext SI (subword HI rm 1)) (ext SI (subword HI rn 1)))))
1327 "mulu.w $rm, $rn"
1328 (+ (f-op4 2) rn rm (f-sub4 14))
1329 (set macl (mul (zext SI (subword HI rm 1)) (zext SI (subword HI rn 1)))))
1333 "neg $rm, $rn"
1334 (+ (f-op4 6) rn rm (f-sub4 11))
1335 (set rn (neg rm)))
1339 "negc $rm, $rn"
1340 (+ (f-op4 6) rn rm (f-sub4 10))
1343 (set rn (subc 0 rm tbit))
1360 "ocbi @$rn"
1361 (+ (f-op4 0) rn (f-sub8 147))
1366 "ocbp @$rn"
1367 (+ (f-op4 0) rn (f-sub8 163))
1372 "ocbwb @$rn"
1373 (+ (f-op4 0) rn (f-sub8 179))
1399 "pref @$rn"
1400 (+ (f-op4 0) rn (f-sub8 131))
1405 "rotcl $rn"
1406 (+ (f-op4 4) rn (f-sub8 36))
1408 (set temp (srl rn 31))
1409 (set rn (or (sll rn 1) tbit))
1414 "rotcr $rn"
1415 (+ (f-op4 4) rn (f-sub8 37))
1417 (set lsbit (if BI (eq (and rn 1) 0) 0 1))
1419 (set rn (or (srl rn 1) (sll temp 31)))
1424 "rotl $rn"
1425 (+ (f-op4 4) rn (f-sub8 4))
1427 (set temp (srl rn 31))
1428 (set rn (or (sll rn 1) temp))
1433 "rotr $rn"
1434 (+ (f-op4 4) rn (f-sub8 5))
1436 (set lsbit (if BI (eq (and rn 1) 0) 0 1))
1438 (set rn (or (srl rn 1) (sll temp 31)))
1461 "shad $rm, $rn"
1462 (+ (f-op4 4) rn rm (f-sub4 12))
1466 (set rn (sll rn shamt))
1468 (set rn (sra rn (sub 32 shamt)))
1469 (if (lt rn 0)
1470 (set rn (neg 1))
1471 (set rn 0))))))
1475 "shal $rn"
1476 (+ (f-op4 4) rn (f-sub8 32))
1478 (set t (srl rn 31))
1479 (set rn (sll rn 1))
1484 "shar $rn"
1485 (+ (f-op4 4) rn (f-sub8 33))
1487 (set t (and rn 1))
1488 (set rn (sra rn 1))
1493 "shld $rm, $rn"
1494 (+ (f-op4 4) rn rm (f-sub4 13))
1498 (set rn (sll rn shamt))
1500 (set rn (srl rn (sub 32 shamt)))
1501 (set rn 0)))))
1505 "shll $rn"
1506 (+ (f-op4 4) rn (f-sub8 0))
1508 (set t (srl rn 31))
1509 (set rn (sll rn 1))
1514 "shll2 $rn"
1515 (+ (f-op4 4) rn (f-sub8 8))
1516 (set rn (sll rn 2)))
1520 "shll8 $rn"
1521 (+ (f-op4 4) rn (f-sub8 24))
1522 (set rn (sll rn 8)))
1526 "shll16 $rn"
1527 (+ (f-op4 4) rn (f-sub8 40))
1528 (set rn (sll rn 16)))
1532 "shlr $rn"
1533 (+ (f-op4 4) rn (f-sub8 1))
1535 (set t (and rn 1))
1536 (set rn (srl rn 1))
1541 "shlr2 $rn"
1542 (+ (f-op4 4) rn (f-sub8 9))
1543 (set rn (srl rn 2)))
1547 "shlr8 $rn"
1548 (+ (f-op4 4) rn (f-sub8 25))
1549 (set rn (srl rn 8)))
1553 "shlr16 $rn"
1554 (+ (f-op4 4) rn (f-sub8 41))
1555 (set rn (srl rn 16)))
1559 "stc gbr, $rn"
1560 (+ (f-op4 0) rn (f-sub8 18))
1561 (set rn gbr))
1565 "stc.l gbr, @-$rn"
1566 (+ (f-op4 4) rn (f-sub8 19))
1568 (set addr (sub rn 4))
1570 (set rn addr)))
1574 "sts fpscr, $rn"
1575 (+ (f-op4 0) rn (f-sub8 106))
1576 (set rn fpscr))
1580 "sts.l fpscr, @-$rn"
1581 (+ (f-op4 4) rn (f-sub8 98))
1583 (set addr (sub rn 4))
1585 (set rn addr)))
1589 "sts fpul, $rn"
1590 (+ (f-op4 0) rn (f-sub8 90))
1591 (set rn (subword SI fpul 0)))
1595 "sts.l fpul, @-$rn"
1596 (+ (f-op4 4) rn (f-sub8 82))
1598 (set addr (sub rn 4))
1600 (set rn addr)))
1604 "sts mach, $rn"
1605 (+ (f-op4 0) rn (f-sub8 10))
1606 (set rn mach))
1610 "sts.l mach, @-$rn"
1611 (+ (f-op4 4) rn (f-sub8 2))
1613 (set addr (sub rn 4))
1615 (set rn addr)))
1619 "sts macl, $rn"
1620 (+ (f-op4 0) rn (f-sub8 26))
1621 (set rn macl))
1625 "sts.l macl, @-$rn"
1626 (+ (f-op4 4) rn (f-sub8 18))
1628 (set addr (sub rn 4))
1630 (set rn addr)))
1634 "sts pr, $rn"
1635 (+ (f-op4 0) rn (f-sub8 42))
1636 (set rn pr))
1640 "sts.l pr, @-$rn"
1641 (+ (f-op4 4) rn (f-sub8 34))
1643 (set addr (sub rn 4))
1645 (set rn addr)))
1649 "sub $rm, $rn"
1650 (+ (f-op4 3) rn rm (f-sub4 8))
1651 (set rn (sub rn rm)))
1655 "subc $rm, $rn"
1656 (+ (f-op4 3) rn rm (f-sub4 10))
1658 (set flag (sub-cflag rn rm tbit))
1659 (set rn (subc rn rm tbit))
1664 "subv $rm, $rn"
1665 (+ (f-op4 3) rn rm (f-sub4 11))
1667 (set t (sub-oflag rn rm 0))
1668 (set rn (sub rn rm))
1673 "swap.b $rm, $rn"
1674 (+ (f-op4 6) rn rm (f-sub4 8))
1679 (set rn (or SI (sll SI top-half 16) (or SI (sll SI byte0 8) byte1)))))
1683 "swap.w $rm, $rn"
1684 (+ (f-op4 6) rn rm (f-sub4 9))
1685 (set rn (or (srl rm 16) (sll rm 16))))
1689 "tas.b @$rn"
1690 (+ (f-op4 4) rn (f-sub8 27))
1692 (set byte (mem UQI rn))
1695 (set (mem UQI rn) byte)))
1705 "tst $rm, $rn"
1706 (+ (f-op4 2) rn rm (f-sub4 8))
1707 (set tbit (if BI (eq (and rm rn) 0) 1 0)))
1746 "xtrct $rm, $rn"
1747 (+ (f-op4 2) rn rm (f-sub4 13))
1748 (set rn (or (sll rm 16) (srl rn 16))))