📄 we32k.md
字号:
return \"\"; }")(define_insn "" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (minus:SI (match_operand:SI 1 "nonimmediate_operand" "0") (match_operand:SI 2 "general_operand" "mri")))] "" "subw2 %2, %0")(define_insn "subsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (minus:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "subw3 %2, %1, %0")(define_insn "" [(set (match_operand:HI 0 "nonimmediate_operand" "=mr") (minus:HI (match_operand:HI 1 "nonimmediate_operand" "0") (match_operand:HI 2 "general_operand" "mri")))] "" "subh2 %2, %0")(define_insn "subhi3" [(set (match_operand:HI 0 "nonimmediate_operand" "=mr") (minus:HI (match_operand:HI 1 "general_operand" "mri") (match_operand:HI 2 "general_operand" "mri")))] "" "subh3 %2, %1, %0")(define_insn "" [(set (match_operand:QI 0 "nonimmediate_operand" "=mr") (minus:QI (match_operand:QI 1 "nonimmediate_operand" "0") (match_operand:QI 2 "general_operand" "mri")))] "" "subb2 %2, %0")(define_insn "subqi3" [(set (match_operand:QI 0 "nonimmediate_operand" "=mr") (minus:QI (match_operand:QI 1 "general_operand" "mri") (match_operand:QI 2 "general_operand" "mri")))] "" "subb3 %2, %1, %0");; signed multiply instructions(define_insn "" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (mult:SI (match_operand:SI 1 "nonimmediate_operand" "0") (match_operand:SI 2 "general_operand" "mri")))] "" "mulw2 %2, %0")(define_insn "mulsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (mult:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "mulw3 %2, %1, %0");; signed divide instructions(define_insn "" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (div:SI (match_operand:SI 1 "nonimmediate_operand" "0") (match_operand:SI 2 "general_operand" "mri")))] "" "divw2 %2, %0")(define_insn "divsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (div:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "divw3 %2, %1, %0");; signed modulus instruction(define_insn "" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (mod:SI (match_operand:SI 1 "nonimmediate_operand" "0") (match_operand:SI 2 "general_operand" "mri")))] "" "modw2 %2, %0")(define_insn "modsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (mod:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "modw3 %2, %1, %0");; unsigned divide instruction(define_insn "" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (udiv:SI (match_operand:SI 1 "nonimmediate_operand" "0") (match_operand:SI 2 "general_operand" "mri")))] "" "udivw2 %2, %0")(define_insn "udivsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (udiv:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "udivw3 %2, %1, %0");; unsigned modulus instruction(define_insn "" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (umod:SI (match_operand:SI 1 "nonimmediate_operand" "0") (match_operand:SI 2 "general_operand" "mri")))] "" "umodw2 %2, %0")(define_insn "umodsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (umod:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "umodw3 %2, %1, %0");; logical-and instructions(define_insn "" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (and:SI (match_operand:SI 1 "nonimmediate_operand" "0") (match_operand:SI 2 "general_operand" "mri")))] "" "andw2 %2, %0")(define_insn "andsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (and:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "andw3 %2, %1, %0")(define_insn "" [(set (match_operand:HI 0 "nonimmediate_operand" "=mr") (and:HI (match_operand:HI 1 "nonimmediate_operand" "0") (match_operand:HI 2 "general_operand" "mri")))] "" "andh2 %2, %0")(define_insn "andhi3" [(set (match_operand:HI 0 "nonimmediate_operand" "=mr") (and:HI (match_operand:HI 1 "general_operand" "mri") (match_operand:HI 2 "general_operand" "mri")))] "" "andh3 %2, %1, %0")(define_insn "" [(set (match_operand:QI 0 "nonimmediate_operand" "=mr") (and:QI (match_operand:QI 1 "nonimmediate_operand" "0") (match_operand:QI 2 "general_operand" "mri")))] "" "andb2 %2, %0")(define_insn "andqi3" [(set (match_operand:QI 0 "nonimmediate_operand" "=mr") (and:QI (match_operand:QI 1 "general_operand" "mri") (match_operand:QI 2 "general_operand" "mri")))] "" "andb3 %2, %1, %0");; inclusive-or instructions(define_insn "" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (ior:SI (match_operand:SI 1 "nonimmediate_operand" "0") (match_operand:SI 2 "general_operand" "mri")))] "" "orw2 %2, %0")(define_insn "iorsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (ior:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "orw3 %2, %1, %0")(define_insn "" [(set (match_operand:HI 0 "nonimmediate_operand" "=mr") (ior:HI (match_operand:HI 1 "nonimmediate_operand" "0") (match_operand:HI 2 "general_operand" "mri")))] "" "orh2 %2, %0")(define_insn "iorhi3" [(set (match_operand:HI 0 "nonimmediate_operand" "=mr") (ior:HI (match_operand:HI 1 "general_operand" "mri") (match_operand:HI 2 "general_operand" "mri")))] "" "orh3 %2, %1, %0")(define_insn "" [(set (match_operand:QI 0 "nonimmediate_operand" "=mr") (ior:QI (match_operand:QI 1 "nonimmediate_operand" "0") (match_operand:QI 2 "general_operand" "mri")))] "" "orb2 %2, %0")(define_insn "iorqi3" [(set (match_operand:QI 0 "nonimmediate_operand" "=mr") (ior:QI (match_operand:QI 1 "general_operand" "mri") (match_operand:QI 2 "general_operand" "mri")))] "" "orb3 %2, %1, %0");; exclusive-or instructions(define_insn "" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (xor:SI (match_operand:SI 1 "nonimmediate_operand" "0") (match_operand:SI 2 "general_operand" "mri")))] "" "xorw2 %2, %0")(define_insn "xorsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (xor:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "xorw3 %2, %1, %0")(define_insn "" [(set (match_operand:HI 0 "nonimmediate_operand" "=mr") (xor:HI (match_operand:HI 1 "nonimmediate_operand" "0") (match_operand:HI 2 "general_operand" "mri")))] "" "xorh2 %2, %0")(define_insn "xorhi3" [(set (match_operand:HI 0 "nonimmediate_operand" "=mr") (xor:HI (match_operand:HI 1 "general_operand" "mri") (match_operand:HI 2 "general_operand" "mri")))] "" "xorh3 %2, %1, %0")(define_insn "" [(set (match_operand:QI 0 "nonimmediate_operand" "=mr") (xor:QI (match_operand:QI 1 "nonimmediate_operand" "0") (match_operand:QI 2 "general_operand" "mri")))] "" "xorb2 %2, %0")(define_insn "xorqi3" [(set (match_operand:QI 0 "nonimmediate_operand" "=mr") (xor:QI (match_operand:QI 1 "general_operand" "mri") (match_operand:QI 2 "general_operand" "mri")))] "" "xorb3 %2, %1, %0");; arithmetic shift instructions(define_insn "ashlsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (ashift:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "LLSW3 %2, %1, %0")(define_insn "ashrsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (ashiftrt:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "ARSW3 %2, %1, %0");; logical shift instructions(define_insn "lshrsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (lshiftrt:SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "LRSW3 %2, %1, %0");; rotate instruction(define_insn "rotrsi3" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (rotatert: SI (match_operand:SI 1 "general_operand" "mri") (match_operand:SI 2 "general_operand" "mri")))] "" "ROTW %2, %1, %0");; negate instructions(define_insn "negsi2" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (neg:SI (match_operand:SI 1 "general_operand" "mri")))] "" "mnegw %1, %0")(define_insn "neghi2" [(set (match_operand:HI 0 "nonimmediate_operand" "=mr") (neg:HI (match_operand:HI 1 "general_operand" "mri")))] "" "mnegh %1, %0");; complement instructions(define_insn "one_cmplsi2" [(set (match_operand:SI 0 "nonimmediate_operand" "=mr") (not:SI (match_operand:SI 1 "general_operand" "mri")))] "" "mcomw %1, %0")(define_insn "one_cmplhi2" [(set (match_operand:HI 0 "nonimmediate_operand" "=mr") (not:HI (match_operand:HI 1 "general_operand" "mri")))] "" "mcomh %1, %0")(define_insn "one_cmplqi2" [(set (match_operand:QI 0 "nonimmediate_operand" "=mr") (not:QI (match_operand:QI 1 "general_operand" "mri")))] "" "mcomb %1, %0");; test instruction;; We don't want to allow a constant operand for test insns because;; (set (cc0) (const_int foo)) has no mode information. Such insns will;; be folded while optimizing anyway.(define_insn "tstsi" [(set (cc0) (match_operand:SI 0 "nonimmediate_operand" "mr"))] "" "TSTW %0")(define_insn "tsthi" [(set (cc0) (match_operand:HI 0 "nonimmediate_operand" "mr"))] "" "TSTH %0")(define_insn "tstqi" [(set (cc0) (match_operand:QI 0 "nonimmediate_operand" "mr"))] "" "TSTB {sbyte}%0");; compare instruction(define_insn "cmpsi" [(set (cc0) (compare (match_operand:SI 0 "nonimmediate_operand" "mr") (match_operand:SI 1 "general_operand" "mri")))] "" "CMPW %1, %0")(define_insn "cmphi" [(set (cc0) (compare (match_operand:HI 0 "nonimmediate_operand" "mr") (match_operand:HI 1 "general_operand" "mri")))] "" "* { if (GET_CODE (operands[1]) == CONST_INT && ((unsigned long)INTVAL (operands[1]) & 0x8000L)) operands[1] = GEN_INT (INTVAL(operands[1]) | 0xffff0000L); output_asm_insn(\"CMPH %1, %0\",operands); return \"\"; }")(define_insn "cmpqi" [(set (cc0) (compare (match_operand:QI 0 "nonimmediate_operand" "mr") (match_operand:QI 1 "general_operand" "mri")))] "" "* { if (GET_CODE (operands[1]) == CONST_INT && ((unsigned long)INTVAL (operands[1]) & 0x80L)) operands[1] = GEN_INT (INTVAL(operands[1]) | 0xffffff00L); output_asm_insn(\"CMPB {sbyte}%1, {sbyte}%0\",operands); return \"\"; }");; truncate instructions(define_insn "" [(set (match_operand:SF 0 "register_operand" "=r") (float_truncate:SF (match_operand:DF 1 "general_operand" "orF"))) (clobber (reg:SI 1)) (clobber (reg:SI 2))] "REGNO (operands[0]) == 0" "*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -