|
|
1.1 ! root 1: /* "lea %c($sp),$a1; mov.l &%0/2,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6" => ="lea %z,$a1; mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6" C="%c($sp)" B="&%c/2" b=a */ ! 2: /* "mov.l &%0/2,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6" => ="mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6" B="&%c/2" b=a */ ! 3: /* "mov.l $a%0,$a%c" => ="mov.%t %y,%z" E="l" A="$a%n" 0=0 C="$a%c" */ ! 4: /* "jsr ($a%0)" => ="jsr %y" A="($a%n)" 0=0 */ ! 5: /* "and.l &0xff,$d%c" => ="%f.%t %x,%z" D="and" E="l" B="&%c" b="0xff" C="$d%c" */ ! 6: /* "and.l &0xffff,$d%c" => ="%f.%t %x,%z" D="and" E="l" B="&%c" b="0xffff" C="$d%c" */ ! 7: /* "mov.b $d%0,$d%c" => ="mov.%t %y,%z" E="b" A="$d%n" 0=0 C="$d%c" */ ! 8: /* "mov.w $d%0,$d%c" => ="mov.%t %y,%z" E="w" A="$d%n" 0=0 C="$d%c" */ ! 9: /* "mov.b $d%0,$d%c" => ="mov.%t %y,%z" E="b" A="$d%n" 0=0 C="$d%c" */ ! 10: /* "mov.w $d%0,$d%c" => ="mov.%t %y,%z" E="w" A="$d%n" 0=0 C="$d%c" */ ! 11: /* "mov.l $d%0,$d%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$d%c" */ ! 12: /* "mov.l $d%0,$d%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$d%c" */ ! 13: /* "mov.l $d%0,$d%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$d%c" */ ! 14: /* "mov.l $a%0,$d%c" => ="mov.%t %y,%z" E="l" A="$a%n" 0=0 C="$d%c" */ ! 15: /* "mov.l $d%0,$d%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$d%c" */ ! 16: /* "mov.l $d%0,$d%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$d%c" */ ! 17: /* "mov.l $d%0,$d%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$d%c" */ ! 18: /* "mov.l $d%0,$a%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$a%c" */ ! 19: /* "mov.l $d%0,$d%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$d%c" */ ! 20: /* "mov.l $d%0,$d%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$d%c" */ ! 21: /* "mov.l $d%0,$d%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$d%c" */ ! 22: /* "mov.l $a%0,$a%c" => ="mov.%t %y,%z" E="l" A="$a%n" 0=0 C="$a%c" */ ! 23: /* "mov.l $a%0,$a%c" => ="mov.%t %y,%z" E="l" A="$a%n" 0=0 C="$a%c" */ ! 24: /* "mov.l $d%0,$d%c" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="$d%c" */ ! 25: /* "jsr ($a%0)" => ="jsr %y" A="($a%n)" 0=0 */ ! 26: /* "jsr ($a%0)" => ="jsr %y" A="($a%n)" 0=0 */ ! 27: /* "bra ($a%0)" => ="bra %z" C="($a%n)" 2=0 */ ! 28: /* "L%0:" => ="%z:" C="L%c" c=a */ ! 29: /* "lea _%0,$a%c" => ="lea %y,%z" A="_%c" a=a C="$a%c" */ ! 30: /* "lea %0($a6),$a%c" => ="lea %y,%z" A="%c($a6)" a=a C="$a%c" */ ! 31: /* "lea %0($a6),$a%c" => ="lea %y,%z" A="%c($a6)" a=a C="$a%c" */ ! 32: /* "add.l $d%1,$a%c" => ="%f.%t %x,%z" D="add" E="l" B="$d%n" 1=1 C="$a%c" */ ! 33: /* "sub.l $d%1,$a%c" => ="%f.%t %x,%z" D="sub" E="l" B="$d%n" 1=1 C="$a%c" */ ! 34: /* "and.l $d%1,$d%c" => ="%f.%t %x,%z" D="and" E="l" B="$d%n" 1=1 C="$d%c" */ ! 35: /* "add.l $d%1,$d%c" => ="%f.%t %x,%z" D="add" E="l" B="$d%n" 1=1 C="$d%c" */ ! 36: /* "add.l $d%1,$d%c" => ="%f.%t %x,%z" D="add" E="l" B="$d%n" 1=1 C="$d%c" */ ! 37: /* "or.l $d%1,$d%c" => ="%f.%t %x,%z" D="or" E="l" B="$d%n" 1=1 C="$d%c" */ ! 38: /* "sub.l $d%1,$d%c" => ="%f.%t %x,%z" D="sub" E="l" B="$d%n" 1=1 C="$d%c" */ ! 39: /* "sub.l $d%1,$d%c" => ="%f.%t %x,%z" D="sub" E="l" B="$d%n" 1=1 C="$d%c" */ ! 40: /* "eor.l $d%1,$d%c" => ="%f.%t %x,%z" D="eor" E="l" B="$d%n" 1=1 C="$d%c" */ ! 41: /* "asl.l $d%1,$d%c" => ="%f.%t %x,%z" D="asl" E="l" B="$d%n" 1=1 C="$d%c" */ ! 42: /* "asr.l $d%1,$d%c" => ="%f.%t %x,%z" D="asr" E="l" B="$d%n" 1=1 C="$d%c" */ ! 43: /* "lsl.l $d%1,$d%c" => ="%f.%t %x,%z" D="lsl" E="l" B="$d%n" 1=1 C="$d%c" */ ! 44: /* "lsr.l $d%1,$d%c" => ="%f.%t %x,%z" D="lsr" E="l" B="$d%n" 1=1 C="$d%c" */ ! 45: /* "muls.w $d%1,$d%c" => ="%f.%t %x,%z" D="muls" E="w" B="$d%n" 1=1 C="$d%c" */ ! 46: /* "mulu.w $d%1,$d%c" => ="%f.%t %x,%z" D="mulu" E="w" B="$d%n" 1=1 C="$d%c" */ ! 47: /* "divs.w $d%1,$d%c; ext.w %z" => ="%f.%t %x,%z; ext.w %z" D="divs" E="w" B="$d%n" 1=1 C="$d%c" */ ! 48: /* "divu.w $d%1,$d%c; and &0xffff,%z" => ="%f.%t %x,%z; and &0xffff,%z" D="divu" E="w" B="$d%n" 1=1 C="$d%c" */ ! 49: /* "divs.w $d%1,$d%c; swap; ext.w %z" => ="%f.%t %x,%z; swap; ext.w %z" D="divs" E="w" B="$d%n" 1=1 C="$d%c" */ ! 50: /* "divu.w $d%1,$d%c; swap; and &0xffff,%z" => ="%f.%t %x,%z; swap; and &0xffff,%z" D="divu" E="w" B="$d%n" 1=1 C="$d%c" */ ! 51: /* "mov.l $d%0,%c($sp)" => ="mov.%t %y,%z" E="l" A="$d%n" 0=0 C="%c($sp)" */ ! 52: /* "mov.l $a%0,%c($sp)" => ="mov.%t %y,%z" E="l" A="$a%n" 0=0 C="%c($sp)" */ ! 53: /* "mov.b $d%1,($a%0)" => ="mov.%t %y,%z" E="b" A="$d%n" 0=1 C="($a%n)" 2=0 */ ! 54: /* "mov.l $d%1,($a%0)" => ="mov.%t %y,%z" E="l" A="$d%n" 0=1 C="($a%n)" 2=0 */ ! 55: /* "mov.w $d%1,($a%0)" => ="mov.%t %y,%z" E="w" A="$d%n" 0=1 C="($a%n)" 2=0 */ ! 56: /* "mov.l $a%1,($a%0)" => ="mov.%t %y,%z" E="l" A="$a%n" 0=1 C="($a%n)" 2=0 */ ! 57: /* "mov.b ($a%0),$d%c" => ="mov.%t %y,%z" E="b" A="($a%n)" 0=0 C="$d%c" */ ! 58: /* "mov.l ($a%0),$d%c" => ="mov.%t %y,%z" E="l" A="($a%n)" 0=0 C="$d%c" */ ! 59: /* "mov.w ($a%0),$d%c" => ="mov.%t %y,%z" E="w" A="($a%n)" 0=0 C="$d%c" */ ! 60: /* "mov.l ($a%0),$a%c" => ="mov.%t %y,%z" E="l" A="($a%n)" 0=0 C="$a%c" */ ! 61: /* "cmp.l $d%0,$d%1; beq L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="eq" C="L%c" c=a */ ! 62: /* "cmp.l $d%0,$d%1; bge L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="ge" C="L%c" c=a */ ! 63: /* "cmp.l $d%0,$d%1; bgt L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="gt" C="L%c" c=a */ ! 64: /* "cmp.l $d%0,$d%1; ble L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="le" C="L%c" c=a */ ! 65: /* "cmp.l $d%0,$d%1; blt L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="lt" C="L%c" c=a */ ! 66: /* "cmp.l $d%0,$d%1; bne L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="ne" C="L%c" c=a */ ! 67: /* "cmp.l $d%0,$d%1; beq L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="eq" C="L%c" c=a */ ! 68: /* "cmp.l $d%0,$d%1; bcs L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="cs" C="L%c" c=a */ ! 69: /* "cmp.l $d%0,$d%1; bne L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="ne" C="L%c" c=a */ ! 70: /* "cmp.l $d%0,$d%1; bls L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="ls" C="L%c" c=a */ ! 71: /* "cmp.l $d%0,$d%1; bhi L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="hi" C="L%c" c=a */ ! 72: /* "cmp.l $d%0,$d%1; bcc L%0" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" 0=0 B="$d%n" 1=1 D="cc" C="L%c" c=a */ ! 73: /* "mov.b &%0,$d%c" => ="mov.%t %y,%z" E="b" A="&%c" a=a C="$d%c" */ ! 74: /* "mov.l &%0,$d%c" => ="mov.%t %y,%z" E="l" A="&%c" a=a C="$d%c" */ ! 75: /* "mov.w &%0,$d%c" => ="mov.%t %y,%z" E="w" A="&%c" a=a C="$d%c" */ ! 76: /* "mov.l &%0,$d%c" => ="mov.%t %y,%z" E="l" A="&%c" a=a C="$d%c" */ ! 77: /* "mov.l &%0,$a%c" => ="mov.%t %y,%z" E="l" A="&%c" a=a C="$a%c" */ ! 78: /* "ext.w $d%c; ext.l $d%c" => ="ext.w %z; ext.l %z" C="$d%c" C="$d%c" */ ! 79: /* "ext.l $d%c" => ="%f.%t %z" D="ext" E="l" C="$d%c" */ ! 80: /* "neg.l $d%c" => ="%f.%t %z" D="neg" E="l" C="$d%c" */ ! 81: /* "not.l $d%c" => ="%f.%t %z" D="not" E="l" C="$d%c" */ ! 82: /* "add.l $d%n,$a%c" => ="%f.%t %x,%z" D="add" E="l" B="$d%n" C="$a%c" */ ! 83: /* "sub.l $d%n,$a%c" => ="%f.%t %x,%z" D="sub" E="l" B="$d%n" C="$a%c" */ ! 84: /* "mov.%t $d%c,$d%c" => ="mov.%t %y,%z" A="$d%c" C="$d%c" */ ! 85: /* "mov.%t $a%c,$a%c" => ="mov.%t %y,%z" A="$a%c" C="$a%c" */ ! 86: /* "mov.%t $a%n,$a%c" => ="mov.%t %y,%z" A="$a%n" C="$a%c" */ ! 87: /* "mov.%t %y,0($sp)" => ="mov.%t %y,%z" C="%c($sp)" c="0" */ ! 88: /* "add.l &%c,$a%c" => ="%f.%t %x,%z" D="add" E="l" B="&%c" C="$a%c" */ ! 89: /* "lea %c($a%n),%z" => ="lea %y,%z" A="%c($a%n)" */ ! 90: /* "mov.l $a%n,%z" => ="mov.%t %y,%z" E="l" A="$a%n" */ ! 91: /* "lea _%c,%z" => ="lea %y,%z" 0A="_%c" */ ! 92: /* "bra ($a%n)" => ="bra %z" C="($a%n)" */ ! 93: /* "lea _%c,%z" => ="lea %y,%z" 2A="_%c" */ ! 94: /* "bra L%c" => ="bra %z" C="L%c" */ ! 95: /* "add.l $a%n,$a%c" => ="%f.%t %x,%z" D="add" E="l" B="$a%n" C="$a%c" */ ! 96: /* "lea 0($a%n,$d%i.l),%z" => ="lea %y,%z" A="0($a%n,$d%i.l)" */ ! 97: /* "lea %c($a%n),$a%c" => ="lea %y,%z" A="%c($a%n)" C="$a%c" */ ! 98: /* "mov.%t $a%c,%z" => ="mov.%t %y,%z" 0A="$a%c" */ ! 99: /* "add.l &%c,%z" => ="%f.%t %x,%z" D="add" E="l" B="&%c" */ ! 100: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 101: /* "mov.l $d%n,%z" => ="mov.%t %y,%z" 0E="l" 0A="$d%n" */ ! 102: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 103: /* "mov.l $a%n,%z" => ="mov.%t %y,%z" 0E="l" 0A="$a%n" */ ! 104: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 105: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 106: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 107: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 108: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 109: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 110: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 111: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 112: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 113: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 114: /* "add.%t $d%n,$d%c" => ="%f.%t %x,%z" D="add" B="$d%n" C="$d%c" */ ! 115: /* "add.%t $d%n,$d%c" => ="%f.%t %x,%z" D="add" B="$d%n" C="$d%c" */ ! 116: /* "add.%t $d%n,$d%c" => ="%f.%t %x,%z" D="add" B="$d%n" C="$d%c" */ ! 117: /* "add.%t $d%n,$d%c" => ="%f.%t %x,%z" D="add" B="$d%n" C="$d%c" */ ! 118: /* "add.%t $d%n,$d%c" => ="%f.%t %x,%z" D="add" B="$d%n" C="$d%c" */ ! 119: /* "add.%t $d%n,$a%c" => ="%f.%t %x,%z" D="add" B="$d%n" C="$a%c" */ ! 120: /* "add.%t $d%n,$a%c" => ="%f.%t %x,%z" D="add" B="$d%n" C="$a%c" */ ! 121: /* "add.%t $d%n,$a%c" => ="%f.%t %x,%z" D="add" B="$d%n" C="$a%c" */ ! 122: /* "add.%t $d%n,$a%c" => ="%f.%t %x,%z" D="add" B="$d%n" C="$a%c" */ ! 123: /* "add.%t $d%n,$a%c" => ="%f.%t %x,%z" D="add" B="$d%n" C="$a%c" */ ! 124: /* "add.%t $a%n,$d%c" => ="%f.%t %x,%z" D="add" B="$a%n" C="$d%c" */ ! 125: /* "add.%t $a%n,$d%c" => ="%f.%t %x,%z" D="add" B="$a%n" C="$d%c" */ ! 126: /* "add.%t $a%n,$d%c" => ="%f.%t %x,%z" D="add" B="$a%n" C="$d%c" */ ! 127: /* "add.%t $a%n,$d%c" => ="%f.%t %x,%z" D="add" B="$a%n" C="$d%c" */ ! 128: /* "add.%t $a%n,$d%c" => ="%f.%t %x,%z" D="add" B="$a%n" C="$d%c" */ ! 129: /* "add.%t $a%n,$a%c" => ="%f.%t %x,%z" D="add" B="$a%n" C="$a%c" */ ! 130: /* "add.%t $a%n,$a%c" => ="%f.%t %x,%z" D="add" B="$a%n" C="$a%c" */ ! 131: /* "add.%t $a%n,$a%c" => ="%f.%t %x,%z" D="add" B="$a%n" C="$a%c" */ ! 132: /* "add.%t $a%n,$a%c" => ="%f.%t %x,%z" D="add" B="$a%n" C="$a%c" */ ! 133: /* "add.%t $a%n,$a%c" => ="%f.%t %x,%z" D="add" B="$a%n" C="$a%c" */ ! 134: /* "sub.%t $d%n,$d%c" => ="%f.%t %x,%z" D="sub" B="$d%n" C="$d%c" */ ! 135: /* "sub.%t $d%n,$d%c" => ="%f.%t %x,%z" D="sub" B="$d%n" C="$d%c" */ ! 136: /* "sub.%t $d%n,$d%c" => ="%f.%t %x,%z" D="sub" B="$d%n" C="$d%c" */ ! 137: /* "sub.%t $d%n,$d%c" => ="%f.%t %x,%z" D="sub" B="$d%n" C="$d%c" */ ! 138: /* "sub.%t $d%n,$d%c" => ="%f.%t %x,%z" D="sub" B="$d%n" C="$d%c" */ ! 139: /* "sub.%t $d%n,$a%c" => ="%f.%t %x,%z" D="sub" B="$d%n" C="$a%c" */ ! 140: /* "sub.%t $d%n,$a%c" => ="%f.%t %x,%z" D="sub" B="$d%n" C="$a%c" */ ! 141: /* "sub.%t $d%n,$a%c" => ="%f.%t %x,%z" D="sub" B="$d%n" C="$a%c" */ ! 142: /* "sub.%t $d%n,$a%c" => ="%f.%t %x,%z" D="sub" B="$d%n" C="$a%c" */ ! 143: /* "sub.%t $d%n,$a%c" => ="%f.%t %x,%z" D="sub" B="$d%n" C="$a%c" */ ! 144: /* "sub.%t $a%n,$d%c" => ="%f.%t %x,%z" D="sub" B="$a%n" C="$d%c" */ ! 145: /* "sub.%t $a%n,$d%c" => ="%f.%t %x,%z" D="sub" B="$a%n" C="$d%c" */ ! 146: /* "sub.%t $a%n,$d%c" => ="%f.%t %x,%z" D="sub" B="$a%n" C="$d%c" */ ! 147: /* "sub.%t $a%n,$d%c" => ="%f.%t %x,%z" D="sub" B="$a%n" C="$d%c" */ ! 148: /* "sub.%t $a%n,$d%c" => ="%f.%t %x,%z" D="sub" B="$a%n" C="$d%c" */ ! 149: /* "sub.%t $a%n,$a%c" => ="%f.%t %x,%z" D="sub" B="$a%n" C="$a%c" */ ! 150: /* "sub.%t $a%n,$a%c" => ="%f.%t %x,%z" D="sub" B="$a%n" C="$a%c" */ ! 151: /* "sub.%t $a%n,$a%c" => ="%f.%t %x,%z" D="sub" B="$a%n" C="$a%c" */ ! 152: /* "sub.%t $a%n,$a%c" => ="%f.%t %x,%z" D="sub" B="$a%n" C="$a%c" */ ! 153: /* "sub.%t $a%n,$a%c" => ="%f.%t %x,%z" D="sub" B="$a%n" C="$a%c" */ ! 154: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 155: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 1A="%c($a%n)" */ ! 156: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 157: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 1A="%c($a%n)" */ ! 158: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 159: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 1A="%c($a%n)" */ ! 160: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 161: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 1A="%c($a%n)" */ ! 162: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 163: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 1A="%c($a%n)" */ ! 164: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 165: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 1A="($a%n)" */ ! 166: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 167: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 1A="($a%n)" */ ! 168: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 169: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 1A="($a%n)" */ ! 170: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 171: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 1A="($a%n)" */ ! 172: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 173: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 1A="($a%n)" */ ! 174: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 175: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 1A="_%c" */ ! 176: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 177: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 1A="_%c" */ ! 178: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 179: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 1A="_%c" */ ! 180: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 181: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 1A="_%c" */ ! 182: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 183: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 1A="_%c" */ ! 184: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 185: /* "mov.%t &%c,%z" => ="mov.%t %y,%z" 1A="&%c" */ ! 186: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 187: /* "mov.%t &%c,%z" => ="mov.%t %y,%z" 1A="&%c" */ ! 188: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 189: /* "mov.%t &%c,%z" => ="mov.%t %y,%z" 1A="&%c" */ ! 190: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 191: /* "mov.%t &%c,%z" => ="mov.%t %y,%z" 1A="&%c" */ ! 192: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 193: /* "mov.%t &%c,%z" => ="mov.%t %y,%z" 1A="&%c" */ ! 194: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 195: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 1A="$d%c" */ ! 196: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 197: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 1A="$d%c" */ ! 198: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 199: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 1A="$d%c" */ ! 200: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 201: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 1A="$d%c" */ ! 202: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 203: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 1A="$d%c" */ ! 204: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 205: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 1A="$d%n" */ ! 206: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 207: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 1A="$d%n" */ ! 208: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 209: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 1A="$d%n" */ ! 210: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 211: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 1A="$d%n" */ ! 212: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 213: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 1A="$d%n" */ ! 214: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 215: /* "mov.%t &_%c,%z" => ="mov.%t %y,%z" 1A="&_%c" */ ! 216: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 217: /* "mov.%t &_%c,%z" => ="mov.%t %y,%z" 1A="&_%c" */ ! 218: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 219: /* "mov.%t &_%c,%z" => ="mov.%t %y,%z" 1A="&_%c" */ ! 220: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 221: /* "mov.%t &_%c,%z" => ="mov.%t %y,%z" 1A="&_%c" */ ! 222: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 223: /* "mov.%t &_%c,%z" => ="mov.%t %y,%z" 1A="&_%c" */ ! 224: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 225: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 1A="%c($sp)" */ ! 226: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 227: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 1A="%c($sp)" */ ! 228: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 229: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 1A="%c($sp)" */ ! 230: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 231: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 1A="%c($sp)" */ ! 232: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 233: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 1A="%c($sp)" */ ! 234: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 235: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 1A="%c($a6)" */ ! 236: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 237: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 1A="%c($a6)" */ ! 238: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 239: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 1A="%c($a6)" */ ! 240: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 241: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 1A="%c($a6)" */ ! 242: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 243: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 1A="%c($a6)" */ ! 244: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 245: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 1A="_%c($a%n)" */ ! 246: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 247: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 1A="_%c($a%n)" */ ! 248: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 249: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 1A="_%c($a%n)" */ ! 250: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 251: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 1A="_%c($a%n)" */ ! 252: /* "and.%t $d%n,$d%c" => ="%f.%t %x,%z" D="and" B="$d%n" C="$d%c" */ ! 253: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 1A="_%c($a%n)" */ ! 254: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 255: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 1A="%c($a%n)" */ ! 256: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 257: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 1A="%c($a%n)" */ ! 258: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 259: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 1A="%c($a%n)" */ ! 260: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 261: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 1A="%c($a%n)" */ ! 262: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 263: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 1A="%c($a%n)" */ ! 264: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 265: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 1A="($a%n)" */ ! 266: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 267: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 1A="($a%n)" */ ! 268: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 269: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 1A="($a%n)" */ ! 270: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 271: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 1A="($a%n)" */ ! 272: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 273: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 1A="($a%n)" */ ! 274: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 275: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 1A="_%c" */ ! 276: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 277: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 1A="_%c" */ ! 278: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 279: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 1A="_%c" */ ! 280: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 281: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 1A="_%c" */ ! 282: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 283: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 1A="_%c" */ ! 284: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 285: /* "mov.%t &%c,%z" => ="mov.%t %y,%z" 1A="&%c" */ ! 286: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 287: /* "mov.%t &%c,%z" => ="mov.%t %y,%z" 1A="&%c" */ ! 288: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 289: /* "mov.%t &%c,%z" => ="mov.%t %y,%z" 1A="&%c" */ ! 290: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 291: /* "mov.%t &%c,%z" => ="mov.%t %y,%z" 1A="&%c" */ ! 292: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 293: /* "mov.%t &%c,%z" => ="mov.%t %y,%z" 1A="&%c" */ ! 294: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 295: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 1A="$d%c" */ ! 296: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 297: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 1A="$d%c" */ ! 298: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 299: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 1A="$d%c" */ ! 300: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 301: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 1A="$d%c" */ ! 302: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 303: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 1A="$d%c" */ ! 304: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 305: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 1A="$d%n" */ ! 306: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 307: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 1A="$d%n" */ ! 308: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 309: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 1A="$d%n" */ ! 310: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 311: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 1A="$d%n" */ ! 312: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 313: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 1A="$d%n" */ ! 314: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 315: /* "mov.%t &_%c,%z" => ="mov.%t %y,%z" 1A="&_%c" */ ! 316: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 317: /* "mov.%t &_%c,%z" => ="mov.%t %y,%z" 1A="&_%c" */ ! 318: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 319: /* "mov.%t &_%c,%z" => ="mov.%t %y,%z" 1A="&_%c" */ ! 320: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 321: /* "mov.%t &_%c,%z" => ="mov.%t %y,%z" 1A="&_%c" */ ! 322: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 323: /* "mov.%t &_%c,%z" => ="mov.%t %y,%z" 1A="&_%c" */ ! 324: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 325: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 1A="%c($sp)" */ ! 326: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 327: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 1A="%c($sp)" */ ! 328: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 329: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 1A="%c($sp)" */ ! 330: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 331: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 1A="%c($sp)" */ ! 332: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 333: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 1A="%c($sp)" */ ! 334: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 335: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 1A="%c($a6)" */ ! 336: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 337: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 1A="%c($a6)" */ ! 338: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 339: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 1A="%c($a6)" */ ! 340: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 341: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 1A="%c($a6)" */ ! 342: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 343: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 1A="%c($a6)" */ ! 344: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 345: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 1A="_%c($a%n)" */ ! 346: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 347: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 1A="_%c($a%n)" */ ! 348: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 349: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 1A="_%c($a%n)" */ ! 350: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 351: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 1A="_%c($a%n)" */ ! 352: /* "or.%t $d%n,$d%c" => ="%f.%t %x,%z" D="or" B="$d%n" C="$d%c" */ ! 353: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 1A="_%c($a%n)" */ ! 354: /* "cmp.%t $a%c,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%c" B="$d%n" */ ! 355: /* "cmp.%t $a%c,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%c" B="$d%n" */ ! 356: /* "cmp.%t $a%c,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%c" B="$d%n" */ ! 357: /* "cmp.%t $a%c,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%c" B="$d%n" */ ! 358: /* "cmp.%t $a%c,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%c" B="$d%n" */ ! 359: /* "cmp.%t $a%c,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%c" B="$a%n" */ ! 360: /* "cmp.%t $a%c,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%c" B="$a%n" */ ! 361: /* "cmp.%t $a%c,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%c" B="$a%n" */ ! 362: /* "cmp.%t $a%c,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%c" B="$a%n" */ ! 363: /* "cmp.%t $a%c,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%c" B="$a%n" */ ! 364: /* "cmp.%t $a%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="$d%n" */ ! 365: /* "cmp.%t $a%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="$d%n" */ ! 366: /* "cmp.%t $a%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="$d%n" */ ! 367: /* "cmp.%t $a%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="$d%n" */ ! 368: /* "cmp.%t $a%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="$d%n" */ ! 369: /* "cmp.%t $a%n,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="$a%n" */ ! 370: /* "cmp.%t $a%n,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="$a%n" */ ! 371: /* "cmp.%t $a%n,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="$a%n" */ ! 372: /* "cmp.%t $a%n,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="$a%n" */ ! 373: /* "cmp.%t $a%n,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="$a%n" */ ! 374: /* "cmp.%t $d%c,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="$d%n" */ ! 375: /* "cmp.%t $d%c,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="$d%n" */ ! 376: /* "cmp.%t $d%c,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="$d%n" */ ! 377: /* "cmp.%t $d%c,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="$d%n" */ ! 378: /* "cmp.%t $d%c,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="$d%n" */ ! 379: /* "cmp.%t $d%c,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="$a%n" */ ! 380: /* "cmp.%t $d%c,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="$a%n" */ ! 381: /* "cmp.%t $d%c,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="$a%n" */ ! 382: /* "cmp.%t $d%c,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="$a%n" */ ! 383: /* "cmp.%t $d%c,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="$a%n" */ ! 384: /* "cmp.%t $d%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="$d%n" */ ! 385: /* "cmp.%t $d%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="$d%n" */ ! 386: /* "cmp.%t $d%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="$d%n" */ ! 387: /* "cmp.%t $d%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="$d%n" */ ! 388: /* "cmp.%t $d%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="$d%n" */ ! 389: /* "cmp.%t $d%n,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="$a%n" */ ! 390: /* "cmp.%t $d%n,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="$a%n" */ ! 391: /* "cmp.%t $d%n,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="$a%n" */ ! 392: /* "cmp.%t $d%n,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="$a%n" */ ! 393: /* "cmp.%t $d%n,$a%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="$a%n" */ ! 394: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 395: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 0A="%c($a%n)" */ ! 396: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 397: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 0A="($a%n)" */ ! 398: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 399: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 0A="_%c" */ ! 400: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 401: /* "mov.%t $a%c,%z" => ="mov.%t %y,%z" 0A="$a%c" */ ! 402: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 403: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" 0A="$a%n" */ ! 404: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 405: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 0A="$d%c" */ ! 406: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 407: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 0A="$d%n" */ ! 408: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 409: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 0A="%c($sp)" */ ! 410: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 411: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 0A="%c($a6)" */ ! 412: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 413: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 0A="_%c($a%n)" */ ! 414: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 415: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 0A="%c($a%n)" */ ! 416: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 417: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 0A="($a%n)" */ ! 418: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 419: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 0A="_%c" */ ! 420: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 421: /* "mov.%t $a%c,%z" => ="mov.%t %y,%z" 0A="$a%c" */ ! 422: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 423: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" 0A="$a%n" */ ! 424: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 425: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 0A="$d%c" */ ! 426: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 427: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 0A="$d%n" */ ! 428: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 429: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 0A="%c($sp)" */ ! 430: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 431: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 0A="%c($a6)" */ ! 432: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 433: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 0A="_%c($a%n)" */ ! 434: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 435: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 0A="%c($a%n)" */ ! 436: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 437: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 0A="($a%n)" */ ! 438: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 439: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 0A="_%c" */ ! 440: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 441: /* "mov.%t $a%c,%z" => ="mov.%t %y,%z" 0A="$a%c" */ ! 442: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 443: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" 0A="$a%n" */ ! 444: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 445: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 0A="$d%c" */ ! 446: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 447: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 0A="$d%n" */ ! 448: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 449: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 0A="%c($sp)" */ ! 450: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 451: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 0A="%c($a6)" */ ! 452: /* "cmp.%t $d%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" */ ! 453: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 0A="_%c($a%n)" */ ! 454: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 455: /* "mov.%t %c($a%n),%z" => ="mov.%t %y,%z" 0A="%c($a%n)" */ ! 456: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 457: /* "mov.%t ($a%n),%z" => ="mov.%t %y,%z" 0A="($a%n)" */ ! 458: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 459: /* "mov.%t _%c,%z" => ="mov.%t %y,%z" 0A="_%c" */ ! 460: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 461: /* "mov.%t $a%c,%z" => ="mov.%t %y,%z" 0A="$a%c" */ ! 462: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 463: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" 0A="$a%n" */ ! 464: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 465: /* "mov.%t $d%c,%z" => ="mov.%t %y,%z" 0A="$d%c" */ ! 466: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 467: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" 0A="$d%n" */ ! 468: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 469: /* "mov.%t %c($sp),%z" => ="mov.%t %y,%z" 0A="%c($sp)" */ ! 470: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 471: /* "mov.%t %c($a6),%z" => ="mov.%t %y,%z" 0A="%c($a6)" */ ! 472: /* "cmp.%t $a%n,&%c; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$a%n" B="&%c" */ ! 473: /* "mov.%t _%c($a%n),%z" => ="mov.%t %y,%z" 0A="_%c($a%n)" */ ! 474: /* "cmp.l $d%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="$d%n" */ ! 475: /* "cmp.l $d%n,$d%n; b%f %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="$d%n" */ ! 476: /* "ext.l %z" => ="%f.%t %z" 0D="ext" 0E="l" */ ! 477: /* "ext.l %z" => ="%f.%t %z" 1D="ext" 1E="l" */ ! 478: /* "cmp.l $d%n,&%c; beq %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="eq" */ ! 479: /* "cmp.l $d%n,&%c; bge %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="ge" */ ! 480: /* "cmp.l $d%n,&%c; bgt %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="gt" */ ! 481: /* "cmp.l $d%n,&%c; ble %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="le" */ ! 482: /* "cmp.l $d%n,&%c; blt %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="lt" */ ! 483: /* "cmp.l $d%n,&%c; bne %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="ne" */ ! 484: /* "cmp.l $d%n,&%c; beq %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="eq" */ ! 485: /* "ext.l %z" => ="%f.%t %z" 0D="ext" 0E="l" */ ! 486: /* "cmp.l $d%n,&%c; bge %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="ge" */ ! 487: /* "ext.l %z" => ="%f.%t %z" 0D="ext" 0E="l" */ ! 488: /* "cmp.l $d%n,&%c; bgt %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="gt" */ ! 489: /* "ext.l %z" => ="%f.%t %z" 0D="ext" 0E="l" */ ! 490: /* "cmp.l $d%n,&%c; ble %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="le" */ ! 491: /* "ext.l %z" => ="%f.%t %z" 0D="ext" 0E="l" */ ! 492: /* "cmp.l $d%n,&%c; blt %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="lt" */ ! 493: /* "ext.l %z" => ="%f.%t %z" 0D="ext" 0E="l" */ ! 494: /* "cmp.l $d%n,&%c; bne %z" => ="cmp.%t %y,%x; b%f %z" E="l" A="$d%n" B="&%c" D="ne" */ ! 495: /* "ext.l %z" => ="%f.%t %z" 0D="ext" 0E="l" */ ! 496: /* "asl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asl" B="$d%n" C="$d%c" */ ! 497: /* "mov.%t &4,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="4" */ ! 498: /* "asl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asl" B="$d%n" C="$d%c" */ ! 499: /* "mov.%t &8,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="8" */ ! 500: /* "asl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asl" B="$d%n" C="$d%c" */ ! 501: /* "mov.%t &3,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="3" */ ! 502: /* "asl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asl" B="$d%n" C="$d%c" */ ! 503: /* "mov.%t &7,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="7" */ ! 504: /* "asl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asl" B="$d%n" C="$d%c" */ ! 505: /* "mov.%t &2,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="2" */ ! 506: /* "asl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asl" B="$d%n" C="$d%c" */ ! 507: /* "mov.%t &6,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="6" */ ! 508: /* "asl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asl" B="$d%n" C="$d%c" */ ! 509: /* "mov.%t &1,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="1" */ ! 510: /* "asl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asl" B="$d%n" C="$d%c" */ ! 511: /* "mov.%t &5,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="5" */ ! 512: /* "asr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asr" B="$d%n" C="$d%c" */ ! 513: /* "mov.%t &4,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="4" */ ! 514: /* "asr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asr" B="$d%n" C="$d%c" */ ! 515: /* "mov.%t &8,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="8" */ ! 516: /* "asr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asr" B="$d%n" C="$d%c" */ ! 517: /* "mov.%t &3,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="3" */ ! 518: /* "asr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asr" B="$d%n" C="$d%c" */ ! 519: /* "mov.%t &7,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="7" */ ! 520: /* "asr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asr" B="$d%n" C="$d%c" */ ! 521: /* "mov.%t &2,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="2" */ ! 522: /* "asr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asr" B="$d%n" C="$d%c" */ ! 523: /* "mov.%t &6,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="6" */ ! 524: /* "asr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asr" B="$d%n" C="$d%c" */ ! 525: /* "mov.%t &1,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="1" */ ! 526: /* "asr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="asr" B="$d%n" C="$d%c" */ ! 527: /* "mov.%t &5,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="5" */ ! 528: /* "lsl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsl" B="$d%n" C="$d%c" */ ! 529: /* "mov.%t &4,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="4" */ ! 530: /* "lsl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsl" B="$d%n" C="$d%c" */ ! 531: /* "mov.%t &8,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="8" */ ! 532: /* "lsl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsl" B="$d%n" C="$d%c" */ ! 533: /* "mov.%t &3,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="3" */ ! 534: /* "lsl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsl" B="$d%n" C="$d%c" */ ! 535: /* "mov.%t &7,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="7" */ ! 536: /* "lsl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsl" B="$d%n" C="$d%c" */ ! 537: /* "mov.%t &2,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="2" */ ! 538: /* "lsl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsl" B="$d%n" C="$d%c" */ ! 539: /* "mov.%t &6,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="6" */ ! 540: /* "lsl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsl" B="$d%n" C="$d%c" */ ! 541: /* "mov.%t &1,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="1" */ ! 542: /* "lsl.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsl" B="$d%n" C="$d%c" */ ! 543: /* "mov.%t &5,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="5" */ ! 544: /* "lsr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsr" B="$d%n" C="$d%c" */ ! 545: /* "mov.%t &4,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="4" */ ! 546: /* "lsr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsr" B="$d%n" C="$d%c" */ ! 547: /* "mov.%t &8,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="8" */ ! 548: /* "lsr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsr" B="$d%n" C="$d%c" */ ! 549: /* "mov.%t &3,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="3" */ ! 550: /* "lsr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsr" B="$d%n" C="$d%c" */ ! 551: /* "mov.%t &7,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="7" */ ! 552: /* "lsr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsr" B="$d%n" C="$d%c" */ ! 553: /* "mov.%t &2,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="2" */ ! 554: /* "lsr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsr" B="$d%n" C="$d%c" */ ! 555: /* "mov.%t &6,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="6" */ ! 556: /* "lsr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsr" B="$d%n" C="$d%c" */ ! 557: /* "mov.%t &1,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="1" */ ! 558: /* "lsr.%t $d%n,$d%c" => ="%f.%t %x,%z" D="lsr" B="$d%n" C="$d%c" */ ! 559: /* "mov.%t &5,%z" => ="mov.%t %y,%z" 1A="&%c" 1a="5" */ ! 560: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 561: /* "add.%t $a%n,%z" => ="%f.%t %x,%z" 0D="add" 0B="$a%n" */ ! 562: /* "add.%t %x,%z" => ="%f.%t %x,%z" D="add" */ ! 563: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 564: /* "add.%t $a%n,%z" => ="%f.%t %x,%z" 0D="add" 0B="$a%n" */ ! 565: /* "add.%t %x,%z" => ="%f.%t %x,%z" D="add" */ ! 566: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 567: /* "sub.%t $a%n,%z" => ="%f.%t %x,%z" 0D="sub" 0B="$a%n" */ ! 568: /* "sub.%t %x,%z" => ="%f.%t %x,%z" D="sub" */ ! 569: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 570: /* "sub.%t $a%n,%z" => ="%f.%t %x,%z" 0D="sub" 0B="$a%n" */ ! 571: /* "sub.%t %x,%z" => ="%f.%t %x,%z" D="sub" */ ! 572: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 573: /* "add.%t &%c,%z" => ="%f.%t %x,%z" 0D="add" 0B="&%c" */ ! 574: /* "add.%t %x,%z" => ="%f.%t %x,%z" D="add" */ ! 575: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 576: /* "add.%t &%c,%z" => ="%f.%t %x,%z" 0D="add" 0B="&%c" */ ! 577: /* "add.%t %x,%z" => ="%f.%t %x,%z" D="add" */ ! 578: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 579: /* "sub.%t &%c,%z" => ="%f.%t %x,%z" 0D="sub" 0B="&%c" */ ! 580: /* "sub.%t %x,%z" => ="%f.%t %x,%z" D="sub" */ ! 581: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 582: /* "sub.%t &%c,%z" => ="%f.%t %x,%z" 0D="sub" 0B="&%c" */ ! 583: /* "sub.%t %x,%z" => ="%f.%t %x,%z" D="sub" */ ! 584: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 585: /* "add.%t $d%n,%z" => ="%f.%t %x,%z" 0D="add" 0B="$d%n" */ ! 586: /* "add.%t %x,%z" => ="%f.%t %x,%z" D="add" */ ! 587: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 588: /* "add.%t $d%n,%z" => ="%f.%t %x,%z" 0D="add" 0B="$d%n" */ ! 589: /* "add.%t %x,%z" => ="%f.%t %x,%z" D="add" */ ! 590: /* "mov.%t $d%n,%z" => ="mov.%t %y,%z" A="$d%n" */ ! 591: /* "sub.%t $d%n,%z" => ="%f.%t %x,%z" 0D="sub" 0B="$d%n" */ ! 592: /* "sub.%t %x,%z" => ="%f.%t %x,%z" D="sub" */ ! 593: /* "mov.%t $a%n,%z" => ="mov.%t %y,%z" A="$a%n" */ ! 594: /* "sub.%t $d%n,%z" => ="%f.%t %x,%z" 0D="sub" 0B="$d%n" */ ! 595: /* "sub.%t %x,%z" => ="%f.%t %x,%z" D="sub" */ ! 596: /* "mov.%t &0,%c($a%n)" => ="mov.%t %y,%z" A="&%c" a="0" C="%c($a%n)" */ ! 597: /* "mov.%t &0,($a%n)" => ="mov.%t %y,%z" A="&%c" a="0" C="($a%n)" */ ! 598: /* "mov.%t &0,_%c" => ="mov.%t %y,%z" A="&%c" a="0" C="_%c" */ ! 599: /* "mov.%t &0,$d%c" => ="mov.%t %y,%z" A="&%c" a="0" C="$d%c" */ ! 600: /* "mov.%t &0,$d%n" => ="mov.%t %y,%z" A="&%c" a="0" C="$d%n" */ ! 601: /* "mov.%t &0,%c($sp)" => ="mov.%t %y,%z" A="&%c" a="0" C="%c($sp)" */ ! 602: /* "mov.%t &0,%c($a6)" => ="mov.%t %y,%z" A="&%c" a="0" C="%c($a6)" */ ! 603: /* "mov.%t &0,_%c($a%n)" => ="mov.%t %y,%z" A="&%c" a="0" C="_%c($a%n)" */ ! 604: /* "cmp.%t %c($a%n),&0; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="%c($a%n)" B="&%c" b="0" */ ! 605: /* "cmp.%t ($a%n),&0; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="($a%n)" B="&%c" b="0" */ ! 606: /* "cmp.%t _%c,&0; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="_%c" B="&%c" b="0" */ ! 607: /* "cmp.%t $d%c,&0; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%c" B="&%c" b="0" */ ! 608: /* "cmp.%t $d%n,&0; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="$d%n" B="&%c" b="0" */ ! 609: /* "cmp.%t %c($sp),&0; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="%c($sp)" B="&%c" b="0" */ ! 610: /* "cmp.%t %c($a6),&0; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="%c($a6)" B="&%c" b="0" */ ! 611: /* "cmp.%t _%c($a%n),&0; b%f %z" => ="cmp.%t %y,%x; b%f %z" A="_%c($a%n)" B="&%c" b="0" */ ! 612: #include "c.h" ! 613: ! 614: #ifdef DEBUG ! 615: #define dumptree(x,y) dumptree1(x,y,-1,0) ! 616: #else ! 617: #define dumptree(x,y) ! 618: #endif ! 619: ! 620: static char *shortopcodes[] = { ! 621: /* 608 */ "%f%t %x,%z |mod", ! 622: /* 609 */ "jsr %y", ! 623: /* 610 */ "lea %z,$a1; mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6", ! 624: /* 611 */ "mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6", ! 625: /* 612 */ "# label", ! 626: /* 613 */ "# nop", ! 627: /* 614 */ "# ret", ! 628: /* 615 */ "%f.%t %x,%z", ! 629: /* 616 */ "%f.%t %x,%z |mod", ! 630: /* 617 */ "%f.%t %z", ! 631: /* 618 */ "clr.%t %z", ! 632: /* 619 */ "cmp.%t %y,%x; b%f %z", ! 633: /* 620 */ "bra %z", ! 634: /* 621 */ "lea %y,%z", ! 635: /* 622 */ "mov.%t %y,%z", ! 636: /* 623 */ "mov.%t %y,%z; %f.%t %x,%z", ! 637: /* 624 */ "mov.%t %y,%z; %f.%t %z", ! 638: /* 625 */ "tst.%t %y; b%f %z", ! 639: /* 626 */ "%z:", ! 640: /* 627 */ "ext.w %z; ext.l %z", ! 641: /* 628 */ "%f.%t %x,%z; ext.w %z", ! 642: /* 629 */ "%f.%t %x,%z; and &0xffff,%z", ! 643: /* 630 */ "%f.%t %x,%z; swap; ext.w %z", ! 644: /* 631 */ "%f.%t %x,%z; swap; and &0xffff,%z", ! 645: }; ! 646: char **opcodes = shortopcodes-608; ! 647: ! 648: char *asmstr0[] = { ! 649: "(DUMMY)", ! 650: "$a%n", ! 651: "$a%c", ! 652: "$d%n", ! 653: "$d%c", ! 654: "_%c", ! 655: "_%c($a%n)", ! 656: "_%c($sp)", ! 657: "_%c($a6)", ! 658: "%c($a%n)", ! 659: "%c($sp)", ! 660: "%c($a6)", ! 661: "($a%n)", ! 662: "($sp)", ! 663: "($a6)", ! 664: "&%c", ! 665: "&%c/2", ! 666: "&_%c", ! 667: "L%c", ! 668: "0($a%n,$d%i.l)", ! 669: }; ! 670: ! 671: char *asmstr3[] = { ! 672: "(DUMMY)", ! 673: "add", ! 674: "and", ! 675: "asl", ! 676: "asr", ! 677: "cc", ! 678: "cs", ! 679: "divs", ! 680: "divu", ! 681: "eor", ! 682: "eq", ! 683: "ext", ! 684: "ge", ! 685: "gt", ! 686: "hi", ! 687: "le", ! 688: "ls", ! 689: "lsl", ! 690: "lsr", ! 691: "lt", ! 692: "muls", ! 693: "mulu", ! 694: "ne", ! 695: "neg", ! 696: "not", ! 697: "or", ! 698: "sub", ! 699: }; ! 700: ! 701: char *asmstr4[] = { ! 702: "(DUMMY)", ! 703: "b", ! 704: "w", ! 705: "l", ! 706: "d", ! 707: "s", ! 708: "x", ! 709: }; ! 710: ! 711: struct symbol sym[] = { ! 712: {{"(DUMMY)"}}, ! 713: {{"0xff"}}, ! 714: {{"0xffff"}}, ! 715: {{"0"}}, ! 716: {{"1"}}, ! 717: {{"2"}}, ! 718: {{"3"}}, ! 719: {{"4"}}, ! 720: {{"5"}}, ! 721: {{"6"}}, ! 722: {{"7"}}, ! 723: {{"8"}}, ! 724: }; ! 725: ! 726: char **asmstr[MAXINTS] = { ! 727: asmstr0, ! 728: asmstr0, ! 729: asmstr0, ! 730: asmstr3, ! 731: asmstr4, ! 732: }; ! 733: ! 734: void initgen() ! 735: { ! 736: sym[1].x.name = string("0xff"); ! 737: sym[2].x.name = string("0xffff"); ! 738: sym[3].x.name = string("0"); ! 739: sym[4].x.name = string("1"); ! 740: sym[5].x.name = string("2"); ! 741: sym[6].x.name = string("3"); ! 742: sym[7].x.name = string("4"); ! 743: sym[8].x.name = string("5"); ! 744: sym[9].x.name = string("6"); ! 745: sym[10].x.name = string("7"); ! 746: sym[11].x.name = string("8"); ! 747: } ! 748: ! 749: dclproto(static char *emit0,(char *, Node, int)) ! 750: static char *emit0(rbp, a, n) ! 751: register char *rbp; ! 752: register Node a; ! 753: register int n; ! 754: { ! 755: register char *cp; ! 756: ! 757: assert(a->x.ints[n]); ! 758: switch (a->x.ints[n]) { ! 759: case 0: /* (DUMMY) */ ! 760: *rbp++ = '('; ! 761: *rbp++ = 'D'; ! 762: *rbp++ = 'U'; ! 763: *rbp++ = 'M'; ! 764: *rbp++ = 'M'; ! 765: *rbp++ = 'Y'; ! 766: *rbp++ = ')'; ! 767: return rbp; ! 768: case 1: /* $a%n */ ! 769: *rbp++ = '$'; ! 770: *rbp++ = 'a'; ! 771: assert(a->kids[n+0]); ! 772: assert(a->kids[n+0]->x.registered); ! 773: assert(a->kids[n+0]->syms[RX]); ! 774: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++); ! 775: return rbp; ! 776: case 2: /* $a%c */ ! 777: *rbp++ = '$'; ! 778: *rbp++ = 'a'; ! 779: assert(a->syms[n+0]); ! 780: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 781: return rbp; ! 782: case 3: /* $d%n */ ! 783: *rbp++ = '$'; ! 784: *rbp++ = 'd'; ! 785: assert(a->kids[n+0]); ! 786: assert(a->kids[n+0]->x.registered); ! 787: assert(a->kids[n+0]->syms[RX]); ! 788: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++); ! 789: return rbp; ! 790: case 4: /* $d%c */ ! 791: *rbp++ = '$'; ! 792: *rbp++ = 'd'; ! 793: assert(a->syms[n+0]); ! 794: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 795: return rbp; ! 796: case 5: /* _%c */ ! 797: *rbp++ = '_'; ! 798: assert(a->syms[n+0]); ! 799: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 800: return rbp; ! 801: case 6: /* _%c($a%n) */ ! 802: *rbp++ = '_'; ! 803: assert(a->syms[n+0]); ! 804: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 805: *rbp++ = '('; ! 806: *rbp++ = '$'; ! 807: *rbp++ = 'a'; ! 808: assert(a->kids[n+0]); ! 809: assert(a->kids[n+0]->x.registered); ! 810: assert(a->kids[n+0]->syms[RX]); ! 811: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++); ! 812: *rbp++ = ')'; ! 813: return rbp; ! 814: case 7: /* _%c($sp) */ ! 815: *rbp++ = '_'; ! 816: assert(a->syms[n+0]); ! 817: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 818: *rbp++ = '('; ! 819: *rbp++ = '$'; ! 820: *rbp++ = 's'; ! 821: *rbp++ = 'p'; ! 822: *rbp++ = ')'; ! 823: return rbp; ! 824: case 8: /* _%c($a6) */ ! 825: *rbp++ = '_'; ! 826: assert(a->syms[n+0]); ! 827: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 828: *rbp++ = '('; ! 829: *rbp++ = '$'; ! 830: *rbp++ = 'a'; ! 831: *rbp++ = '6'; ! 832: *rbp++ = ')'; ! 833: return rbp; ! 834: case 9: /* %c($a%n) */ ! 835: assert(a->syms[n+0]); ! 836: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 837: *rbp++ = '('; ! 838: *rbp++ = '$'; ! 839: *rbp++ = 'a'; ! 840: assert(a->kids[n+0]); ! 841: assert(a->kids[n+0]->x.registered); ! 842: assert(a->kids[n+0]->syms[RX]); ! 843: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++); ! 844: *rbp++ = ')'; ! 845: return rbp; ! 846: case 10: /* %c($sp) */ ! 847: assert(a->syms[n+0]); ! 848: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 849: *rbp++ = '('; ! 850: *rbp++ = '$'; ! 851: *rbp++ = 's'; ! 852: *rbp++ = 'p'; ! 853: *rbp++ = ')'; ! 854: return rbp; ! 855: case 11: /* %c($a6) */ ! 856: assert(a->syms[n+0]); ! 857: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 858: *rbp++ = '('; ! 859: *rbp++ = '$'; ! 860: *rbp++ = 'a'; ! 861: *rbp++ = '6'; ! 862: *rbp++ = ')'; ! 863: return rbp; ! 864: case 12: /* ($a%n) */ ! 865: *rbp++ = '('; ! 866: *rbp++ = '$'; ! 867: *rbp++ = 'a'; ! 868: assert(a->kids[n+0]); ! 869: assert(a->kids[n+0]->x.registered); ! 870: assert(a->kids[n+0]->syms[RX]); ! 871: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++); ! 872: *rbp++ = ')'; ! 873: return rbp; ! 874: case 13: /* ($sp) */ ! 875: *rbp++ = '('; ! 876: *rbp++ = '$'; ! 877: *rbp++ = 's'; ! 878: *rbp++ = 'p'; ! 879: *rbp++ = ')'; ! 880: return rbp; ! 881: case 14: /* ($a6) */ ! 882: *rbp++ = '('; ! 883: *rbp++ = '$'; ! 884: *rbp++ = 'a'; ! 885: *rbp++ = '6'; ! 886: *rbp++ = ')'; ! 887: return rbp; ! 888: case 15: /* &%c */ ! 889: *rbp++ = '&'; ! 890: assert(a->syms[n+0]); ! 891: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 892: return rbp; ! 893: case 16: /* &%c/2 */ ! 894: *rbp++ = '&'; ! 895: assert(a->syms[n+0]); ! 896: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 897: *rbp++ = '/'; ! 898: *rbp++ = '2'; ! 899: return rbp; ! 900: case 17: /* &_%c */ ! 901: *rbp++ = '&'; ! 902: *rbp++ = '_'; ! 903: assert(a->syms[n+0]); ! 904: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 905: return rbp; ! 906: case 18: /* L%c */ ! 907: *rbp++ = 'L'; ! 908: assert(a->syms[n+0]); ! 909: for (cp = a->syms[n+0]->x.name; *cp; *rbp++ = *cp++); ! 910: return rbp; ! 911: case 19: /* 0($a%n,$d%i.l) */ ! 912: *rbp++ = '0'; ! 913: *rbp++ = '('; ! 914: *rbp++ = '$'; ! 915: *rbp++ = 'a'; ! 916: assert(a->kids[n+0]); ! 917: assert(a->kids[n+0]->x.registered); ! 918: assert(a->kids[n+0]->syms[RX]); ! 919: for (cp = a->kids[n+0]->syms[RX]->x.name; *cp; *rbp++ = *cp++); ! 920: *rbp++ = ','; ! 921: *rbp++ = '$'; ! 922: *rbp++ = 'd'; ! 923: assert(a->kids[n+3]); ! 924: assert(a->kids[n+3]->x.registered); ! 925: assert(a->kids[n+3]->syms[RX]); ! 926: for (cp = a->kids[n+3]->syms[RX]->x.name; *cp; *rbp++ = *cp++); ! 927: *rbp++ = '.'; ! 928: *rbp++ = 'l'; ! 929: *rbp++ = ')'; ! 930: return rbp; ! 931: } ! 932: return rbp; ! 933: } ! 934: ! 935: void emit(a) ! 936: register Node a; ! 937: { ! 938: register char *cp, *rbp; ! 939: ! 940: for (; a; a = a->x.next) { ! 941: switch (a->op) { ! 942: case 608: L608: /* %f%t %x,%z |mod */ ! 943: rbp = bp; ! 944: assert(a->x.ints[3]); ! 945: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 946: assert(a->x.ints[4]); ! 947: cp = asmstr4[a->x.ints[4]]; ! 948: *rbp++ = cp[0]; ! 949: *rbp++ = ' '; ! 950: rbp = emit0(rbp, a, 1); ! 951: *rbp++ = ','; ! 952: rbp = emit0(rbp, a, 2); ! 953: *rbp++ = ' '; ! 954: *rbp++ = '|'; ! 955: *rbp++ = 'm'; ! 956: *rbp++ = 'o'; ! 957: *rbp++ = 'd'; ! 958: bp = rbp; ! 959: outs("\n"); ! 960: break; ! 961: case 609: L609: /* jsr %y */ ! 962: rbp = bp; ! 963: *rbp++ = 'j'; ! 964: *rbp++ = 's'; ! 965: *rbp++ = 'r'; ! 966: *rbp++ = ' '; ! 967: rbp = emit0(rbp, a, 0); ! 968: bp = rbp; ! 969: outs("\n"); ! 970: break; ! 971: case 610: L610: /* lea %z,$a1; mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6 */ ! 972: rbp = bp; ! 973: *rbp++ = 'l'; ! 974: *rbp++ = 'e'; ! 975: *rbp++ = 'a'; ! 976: *rbp++ = ' '; ! 977: rbp = emit0(rbp, a, 2); ! 978: *rbp++ = ','; ! 979: *rbp++ = '$'; ! 980: *rbp++ = 'a'; ! 981: *rbp++ = '1'; ! 982: bp = rbp; outs(";"); rbp = bp; ! 983: *rbp++ = ' '; ! 984: *rbp++ = 'm'; ! 985: *rbp++ = 'o'; ! 986: *rbp++ = 'v'; ! 987: *rbp++ = '.'; ! 988: *rbp++ = 'l'; ! 989: *rbp++ = ' '; ! 990: rbp = emit0(rbp, a, 1); ! 991: *rbp++ = ','; ! 992: *rbp++ = '$'; ! 993: *rbp++ = 'd'; ! 994: *rbp++ = '0'; ! 995: bp = rbp; outs(";"); rbp = bp; ! 996: *rbp++ = ' '; ! 997: *rbp++ = 'm'; ! 998: *rbp++ = 'o'; ! 999: *rbp++ = 'v'; ! 1000: *rbp++ = '.'; ! 1001: *rbp++ = 'w'; ! 1002: *rbp++ = ' '; ! 1003: *rbp++ = '('; ! 1004: *rbp++ = '$'; ! 1005: *rbp++ = 'a'; ! 1006: *rbp++ = '0'; ! 1007: *rbp++ = ')'; ! 1008: *rbp++ = '+'; ! 1009: *rbp++ = ','; ! 1010: *rbp++ = '('; ! 1011: *rbp++ = '$'; ! 1012: *rbp++ = 'a'; ! 1013: *rbp++ = '1'; ! 1014: *rbp++ = ')'; ! 1015: *rbp++ = '+'; ! 1016: bp = rbp; outs(";"); rbp = bp; ! 1017: *rbp++ = ' '; ! 1018: *rbp++ = 's'; ! 1019: *rbp++ = 'u'; ! 1020: *rbp++ = 'b'; ! 1021: *rbp++ = '.'; ! 1022: *rbp++ = 'l'; ! 1023: *rbp++ = ' '; ! 1024: *rbp++ = '&'; ! 1025: *rbp++ = '1'; ! 1026: *rbp++ = ','; ! 1027: *rbp++ = '$'; ! 1028: *rbp++ = 'd'; ! 1029: *rbp++ = '0'; ! 1030: bp = rbp; outs(";"); rbp = bp; ! 1031: *rbp++ = ' '; ! 1032: *rbp++ = 'b'; ! 1033: *rbp++ = 'y'; ! 1034: *rbp++ = 't'; ! 1035: *rbp++ = 'e'; ! 1036: *rbp++ = ' '; ! 1037: *rbp++ = '0'; ! 1038: *rbp++ = 'x'; ! 1039: *rbp++ = '6'; ! 1040: *rbp++ = 'e'; ! 1041: *rbp++ = ','; ! 1042: *rbp++ = '-'; ! 1043: *rbp++ = '6'; ! 1044: bp = rbp; ! 1045: outs("\n"); ! 1046: break; ! 1047: case 611: L611: /* mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6 */ ! 1048: rbp = bp; ! 1049: *rbp++ = 'm'; ! 1050: *rbp++ = 'o'; ! 1051: *rbp++ = 'v'; ! 1052: *rbp++ = '.'; ! 1053: *rbp++ = 'l'; ! 1054: *rbp++ = ' '; ! 1055: rbp = emit0(rbp, a, 1); ! 1056: *rbp++ = ','; ! 1057: *rbp++ = '$'; ! 1058: *rbp++ = 'd'; ! 1059: *rbp++ = '0'; ! 1060: bp = rbp; outs(";"); rbp = bp; ! 1061: *rbp++ = ' '; ! 1062: *rbp++ = 'm'; ! 1063: *rbp++ = 'o'; ! 1064: *rbp++ = 'v'; ! 1065: *rbp++ = '.'; ! 1066: *rbp++ = 'w'; ! 1067: *rbp++ = ' '; ! 1068: *rbp++ = '('; ! 1069: *rbp++ = '$'; ! 1070: *rbp++ = 'a'; ! 1071: *rbp++ = '0'; ! 1072: *rbp++ = ')'; ! 1073: *rbp++ = '+'; ! 1074: *rbp++ = ','; ! 1075: *rbp++ = '('; ! 1076: *rbp++ = '$'; ! 1077: *rbp++ = 'a'; ! 1078: *rbp++ = '1'; ! 1079: *rbp++ = ')'; ! 1080: *rbp++ = '+'; ! 1081: bp = rbp; outs(";"); rbp = bp; ! 1082: *rbp++ = ' '; ! 1083: *rbp++ = 's'; ! 1084: *rbp++ = 'u'; ! 1085: *rbp++ = 'b'; ! 1086: *rbp++ = '.'; ! 1087: *rbp++ = 'l'; ! 1088: *rbp++ = ' '; ! 1089: *rbp++ = '&'; ! 1090: *rbp++ = '1'; ! 1091: *rbp++ = ','; ! 1092: *rbp++ = '$'; ! 1093: *rbp++ = 'd'; ! 1094: *rbp++ = '0'; ! 1095: bp = rbp; outs(";"); rbp = bp; ! 1096: *rbp++ = ' '; ! 1097: *rbp++ = 'b'; ! 1098: *rbp++ = 'y'; ! 1099: *rbp++ = 't'; ! 1100: *rbp++ = 'e'; ! 1101: *rbp++ = ' '; ! 1102: *rbp++ = '0'; ! 1103: *rbp++ = 'x'; ! 1104: *rbp++ = '6'; ! 1105: *rbp++ = 'e'; ! 1106: *rbp++ = ','; ! 1107: *rbp++ = '-'; ! 1108: *rbp++ = '6'; ! 1109: bp = rbp; ! 1110: outs("\n"); ! 1111: break; ! 1112: case 612: L612: /* # label */ ! 1113: emitspecial(a); ! 1114: break; ! 1115: case 613: L613: /* # nop */ ! 1116: emitspecial(a); ! 1117: break; ! 1118: case 614: L614: /* # ret */ ! 1119: emitspecial(a); ! 1120: break; ! 1121: case 615: L615: /* %f.%t %x,%z */ ! 1122: rbp = bp; ! 1123: assert(a->x.ints[3]); ! 1124: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1125: *rbp++ = '.'; ! 1126: assert(a->x.ints[4]); ! 1127: cp = asmstr4[a->x.ints[4]]; ! 1128: *rbp++ = cp[0]; ! 1129: *rbp++ = ' '; ! 1130: rbp = emit0(rbp, a, 1); ! 1131: *rbp++ = ','; ! 1132: rbp = emit0(rbp, a, 2); ! 1133: bp = rbp; ! 1134: outs("\n"); ! 1135: break; ! 1136: case 616: L616: /* %f.%t %x,%z |mod */ ! 1137: rbp = bp; ! 1138: assert(a->x.ints[3]); ! 1139: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1140: *rbp++ = '.'; ! 1141: assert(a->x.ints[4]); ! 1142: cp = asmstr4[a->x.ints[4]]; ! 1143: *rbp++ = cp[0]; ! 1144: *rbp++ = ' '; ! 1145: rbp = emit0(rbp, a, 1); ! 1146: *rbp++ = ','; ! 1147: rbp = emit0(rbp, a, 2); ! 1148: *rbp++ = ' '; ! 1149: *rbp++ = '|'; ! 1150: *rbp++ = 'm'; ! 1151: *rbp++ = 'o'; ! 1152: *rbp++ = 'd'; ! 1153: bp = rbp; ! 1154: outs("\n"); ! 1155: break; ! 1156: case 617: L617: /* %f.%t %z */ ! 1157: rbp = bp; ! 1158: assert(a->x.ints[3]); ! 1159: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1160: *rbp++ = '.'; ! 1161: assert(a->x.ints[4]); ! 1162: cp = asmstr4[a->x.ints[4]]; ! 1163: *rbp++ = cp[0]; ! 1164: *rbp++ = ' '; ! 1165: rbp = emit0(rbp, a, 2); ! 1166: bp = rbp; ! 1167: outs("\n"); ! 1168: break; ! 1169: case 618: L618: /* clr.%t %z */ ! 1170: rbp = bp; ! 1171: *rbp++ = 'c'; ! 1172: *rbp++ = 'l'; ! 1173: *rbp++ = 'r'; ! 1174: *rbp++ = '.'; ! 1175: assert(a->x.ints[4]); ! 1176: cp = asmstr4[a->x.ints[4]]; ! 1177: *rbp++ = cp[0]; ! 1178: *rbp++ = ' '; ! 1179: rbp = emit0(rbp, a, 2); ! 1180: bp = rbp; ! 1181: outs("\n"); ! 1182: break; ! 1183: case 619: L619: /* cmp.%t %y,%x; b%f %z */ ! 1184: rbp = bp; ! 1185: *rbp++ = 'c'; ! 1186: *rbp++ = 'm'; ! 1187: *rbp++ = 'p'; ! 1188: *rbp++ = '.'; ! 1189: assert(a->x.ints[4]); ! 1190: cp = asmstr4[a->x.ints[4]]; ! 1191: *rbp++ = cp[0]; ! 1192: *rbp++ = ' '; ! 1193: rbp = emit0(rbp, a, 0); ! 1194: *rbp++ = ','; ! 1195: rbp = emit0(rbp, a, 1); ! 1196: bp = rbp; outs(";"); rbp = bp; ! 1197: *rbp++ = ' '; ! 1198: *rbp++ = 'b'; ! 1199: assert(a->x.ints[3]); ! 1200: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1201: *rbp++ = ' '; ! 1202: rbp = emit0(rbp, a, 2); ! 1203: bp = rbp; ! 1204: outs("\n"); ! 1205: break; ! 1206: case 620: L620: /* bra %z */ ! 1207: rbp = bp; ! 1208: *rbp++ = 'b'; ! 1209: *rbp++ = 'r'; ! 1210: *rbp++ = 'a'; ! 1211: *rbp++ = ' '; ! 1212: rbp = emit0(rbp, a, 2); ! 1213: bp = rbp; ! 1214: outs("\n"); ! 1215: break; ! 1216: case 621: L621: /* lea %y,%z */ ! 1217: rbp = bp; ! 1218: *rbp++ = 'l'; ! 1219: *rbp++ = 'e'; ! 1220: *rbp++ = 'a'; ! 1221: *rbp++ = ' '; ! 1222: rbp = emit0(rbp, a, 0); ! 1223: *rbp++ = ','; ! 1224: rbp = emit0(rbp, a, 2); ! 1225: bp = rbp; ! 1226: outs("\n"); ! 1227: break; ! 1228: case 622: L622: /* mov.%t %y,%z */ ! 1229: rbp = bp; ! 1230: *rbp++ = 'm'; ! 1231: *rbp++ = 'o'; ! 1232: *rbp++ = 'v'; ! 1233: *rbp++ = '.'; ! 1234: assert(a->x.ints[4]); ! 1235: cp = asmstr4[a->x.ints[4]]; ! 1236: *rbp++ = cp[0]; ! 1237: *rbp++ = ' '; ! 1238: rbp = emit0(rbp, a, 0); ! 1239: *rbp++ = ','; ! 1240: rbp = emit0(rbp, a, 2); ! 1241: bp = rbp; ! 1242: outs("\n"); ! 1243: break; ! 1244: case 623: L623: /* mov.%t %y,%z; %f.%t %x,%z */ ! 1245: rbp = bp; ! 1246: *rbp++ = 'm'; ! 1247: *rbp++ = 'o'; ! 1248: *rbp++ = 'v'; ! 1249: *rbp++ = '.'; ! 1250: assert(a->x.ints[4]); ! 1251: cp = asmstr4[a->x.ints[4]]; ! 1252: *rbp++ = cp[0]; ! 1253: *rbp++ = ' '; ! 1254: rbp = emit0(rbp, a, 0); ! 1255: *rbp++ = ','; ! 1256: rbp = emit0(rbp, a, 2); ! 1257: bp = rbp; outs(";"); rbp = bp; ! 1258: *rbp++ = ' '; ! 1259: assert(a->x.ints[3]); ! 1260: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1261: *rbp++ = '.'; ! 1262: assert(a->x.ints[4]); ! 1263: cp = asmstr4[a->x.ints[4]]; ! 1264: *rbp++ = cp[0]; ! 1265: *rbp++ = ' '; ! 1266: rbp = emit0(rbp, a, 1); ! 1267: *rbp++ = ','; ! 1268: rbp = emit0(rbp, a, 2); ! 1269: bp = rbp; ! 1270: outs("\n"); ! 1271: break; ! 1272: case 624: L624: /* mov.%t %y,%z; %f.%t %z */ ! 1273: rbp = bp; ! 1274: *rbp++ = 'm'; ! 1275: *rbp++ = 'o'; ! 1276: *rbp++ = 'v'; ! 1277: *rbp++ = '.'; ! 1278: assert(a->x.ints[4]); ! 1279: cp = asmstr4[a->x.ints[4]]; ! 1280: *rbp++ = cp[0]; ! 1281: *rbp++ = ' '; ! 1282: rbp = emit0(rbp, a, 0); ! 1283: *rbp++ = ','; ! 1284: rbp = emit0(rbp, a, 2); ! 1285: bp = rbp; outs(";"); rbp = bp; ! 1286: *rbp++ = ' '; ! 1287: assert(a->x.ints[3]); ! 1288: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1289: *rbp++ = '.'; ! 1290: assert(a->x.ints[4]); ! 1291: cp = asmstr4[a->x.ints[4]]; ! 1292: *rbp++ = cp[0]; ! 1293: *rbp++ = ' '; ! 1294: rbp = emit0(rbp, a, 2); ! 1295: bp = rbp; ! 1296: outs("\n"); ! 1297: break; ! 1298: case 625: L625: /* tst.%t %y; b%f %z */ ! 1299: rbp = bp; ! 1300: *rbp++ = 't'; ! 1301: *rbp++ = 's'; ! 1302: *rbp++ = 't'; ! 1303: *rbp++ = '.'; ! 1304: assert(a->x.ints[4]); ! 1305: cp = asmstr4[a->x.ints[4]]; ! 1306: *rbp++ = cp[0]; ! 1307: *rbp++ = ' '; ! 1308: rbp = emit0(rbp, a, 0); ! 1309: bp = rbp; outs(";"); rbp = bp; ! 1310: *rbp++ = ' '; ! 1311: *rbp++ = 'b'; ! 1312: assert(a->x.ints[3]); ! 1313: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1314: *rbp++ = ' '; ! 1315: rbp = emit0(rbp, a, 2); ! 1316: bp = rbp; ! 1317: outs("\n"); ! 1318: break; ! 1319: case 626: L626: /* %z: */ ! 1320: rbp = bp; ! 1321: rbp = emit0(rbp, a, 2); ! 1322: *rbp++ = ':'; ! 1323: bp = rbp; ! 1324: outs("\n"); ! 1325: break; ! 1326: case 627: L627: /* ext.w %z; ext.l %z */ ! 1327: rbp = bp; ! 1328: *rbp++ = 'e'; ! 1329: *rbp++ = 'x'; ! 1330: *rbp++ = 't'; ! 1331: *rbp++ = '.'; ! 1332: *rbp++ = 'w'; ! 1333: *rbp++ = ' '; ! 1334: rbp = emit0(rbp, a, 2); ! 1335: bp = rbp; outs(";"); rbp = bp; ! 1336: *rbp++ = ' '; ! 1337: *rbp++ = 'e'; ! 1338: *rbp++ = 'x'; ! 1339: *rbp++ = 't'; ! 1340: *rbp++ = '.'; ! 1341: *rbp++ = 'l'; ! 1342: *rbp++ = ' '; ! 1343: rbp = emit0(rbp, a, 2); ! 1344: bp = rbp; ! 1345: outs("\n"); ! 1346: break; ! 1347: case 628: L628: /* %f.%t %x,%z; ext.w %z */ ! 1348: rbp = bp; ! 1349: assert(a->x.ints[3]); ! 1350: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1351: *rbp++ = '.'; ! 1352: assert(a->x.ints[4]); ! 1353: cp = asmstr4[a->x.ints[4]]; ! 1354: *rbp++ = cp[0]; ! 1355: *rbp++ = ' '; ! 1356: rbp = emit0(rbp, a, 1); ! 1357: *rbp++ = ','; ! 1358: rbp = emit0(rbp, a, 2); ! 1359: bp = rbp; outs(";"); rbp = bp; ! 1360: *rbp++ = ' '; ! 1361: *rbp++ = 'e'; ! 1362: *rbp++ = 'x'; ! 1363: *rbp++ = 't'; ! 1364: *rbp++ = '.'; ! 1365: *rbp++ = 'w'; ! 1366: *rbp++ = ' '; ! 1367: rbp = emit0(rbp, a, 2); ! 1368: bp = rbp; ! 1369: outs("\n"); ! 1370: break; ! 1371: case 629: L629: /* %f.%t %x,%z; and &0xffff,%z */ ! 1372: rbp = bp; ! 1373: assert(a->x.ints[3]); ! 1374: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1375: *rbp++ = '.'; ! 1376: assert(a->x.ints[4]); ! 1377: cp = asmstr4[a->x.ints[4]]; ! 1378: *rbp++ = cp[0]; ! 1379: *rbp++ = ' '; ! 1380: rbp = emit0(rbp, a, 1); ! 1381: *rbp++ = ','; ! 1382: rbp = emit0(rbp, a, 2); ! 1383: bp = rbp; outs(";"); rbp = bp; ! 1384: *rbp++ = ' '; ! 1385: *rbp++ = 'a'; ! 1386: *rbp++ = 'n'; ! 1387: *rbp++ = 'd'; ! 1388: *rbp++ = ' '; ! 1389: *rbp++ = '&'; ! 1390: *rbp++ = '0'; ! 1391: *rbp++ = 'x'; ! 1392: *rbp++ = 'f'; ! 1393: *rbp++ = 'f'; ! 1394: *rbp++ = 'f'; ! 1395: *rbp++ = 'f'; ! 1396: *rbp++ = ','; ! 1397: rbp = emit0(rbp, a, 2); ! 1398: bp = rbp; ! 1399: outs("\n"); ! 1400: break; ! 1401: case 630: L630: /* %f.%t %x,%z; swap; ext.w %z */ ! 1402: rbp = bp; ! 1403: assert(a->x.ints[3]); ! 1404: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1405: *rbp++ = '.'; ! 1406: assert(a->x.ints[4]); ! 1407: cp = asmstr4[a->x.ints[4]]; ! 1408: *rbp++ = cp[0]; ! 1409: *rbp++ = ' '; ! 1410: rbp = emit0(rbp, a, 1); ! 1411: *rbp++ = ','; ! 1412: rbp = emit0(rbp, a, 2); ! 1413: bp = rbp; outs(";"); rbp = bp; ! 1414: *rbp++ = ' '; ! 1415: *rbp++ = 's'; ! 1416: *rbp++ = 'w'; ! 1417: *rbp++ = 'a'; ! 1418: *rbp++ = 'p'; ! 1419: bp = rbp; outs(";"); rbp = bp; ! 1420: *rbp++ = ' '; ! 1421: *rbp++ = 'e'; ! 1422: *rbp++ = 'x'; ! 1423: *rbp++ = 't'; ! 1424: *rbp++ = '.'; ! 1425: *rbp++ = 'w'; ! 1426: *rbp++ = ' '; ! 1427: rbp = emit0(rbp, a, 2); ! 1428: bp = rbp; ! 1429: outs("\n"); ! 1430: break; ! 1431: case 631: L631: /* %f.%t %x,%z; swap; and &0xffff,%z */ ! 1432: rbp = bp; ! 1433: assert(a->x.ints[3]); ! 1434: for (cp = asmstr3[a->x.ints[3]]; *cp; *rbp++ = *cp++); ! 1435: *rbp++ = '.'; ! 1436: assert(a->x.ints[4]); ! 1437: cp = asmstr4[a->x.ints[4]]; ! 1438: *rbp++ = cp[0]; ! 1439: *rbp++ = ' '; ! 1440: rbp = emit0(rbp, a, 1); ! 1441: *rbp++ = ','; ! 1442: rbp = emit0(rbp, a, 2); ! 1443: bp = rbp; outs(";"); rbp = bp; ! 1444: *rbp++ = ' '; ! 1445: *rbp++ = 's'; ! 1446: *rbp++ = 'w'; ! 1447: *rbp++ = 'a'; ! 1448: *rbp++ = 'p'; ! 1449: bp = rbp; outs(";"); rbp = bp; ! 1450: *rbp++ = ' '; ! 1451: *rbp++ = 'a'; ! 1452: *rbp++ = 'n'; ! 1453: *rbp++ = 'd'; ! 1454: *rbp++ = ' '; ! 1455: *rbp++ = '&'; ! 1456: *rbp++ = '0'; ! 1457: *rbp++ = 'x'; ! 1458: *rbp++ = 'f'; ! 1459: *rbp++ = 'f'; ! 1460: *rbp++ = 'f'; ! 1461: *rbp++ = 'f'; ! 1462: *rbp++ = ','; ! 1463: rbp = emit0(rbp, a, 2); ! 1464: bp = rbp; ! 1465: outs("\n"); ! 1466: break; ! 1467: } ! 1468: } ! 1469: } ! 1470: ! 1471: void final(a) ! 1472: register Node a; ! 1473: { ! 1474: register int s; ! 1475: switch (a->op) { ! 1476: case 608: L608: /* %f%t %x,%z |mod */ ! 1477: dumptree(a, 608); ! 1478: spill(1, DREG, a); ! 1479: a->op = 608; ! 1480: break; ! 1481: case 609: L609: /* jsr %y */ ! 1482: dumptree(a, 609); ! 1483: spill(2, DREG, a); spill(3, AREG, a); ! 1484: a->op = 609; ! 1485: break; ! 1486: case 610: L610: /* lea %z,$a1; mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6 */ ! 1487: dumptree(a, 610); ! 1488: spill(1, DREG, a); spill(3, AREG, a); ! 1489: a->op = 610; ! 1490: break; ! 1491: case 611: L611: /* mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6 */ ! 1492: dumptree(a, 611); ! 1493: spill(1, DREG, a); spill(3, AREG, a); ! 1494: a->op = 611; ! 1495: break; ! 1496: case 612: L612: /* # label */ ! 1497: dumptree(a, 612); ! 1498: a->op = 612; ! 1499: return; ! 1500: case 613: L613: /* # nop */ ! 1501: dumptree(a, 613); ! 1502: a->op = 613; ! 1503: return; ! 1504: case 614: L614: /* # ret */ ! 1505: dumptree(a, 614); ! 1506: a->op = 614; ! 1507: return; ! 1508: case 615: L615: /* %f.%t %x,%z */ ! 1509: dumptree(a, 615); ! 1510: /* $a%c */ ! 1511: /* $d%c */ ! 1512: if ("\0\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[2]]) { ! 1513: if ( ! 1514: !regchain(a) ! 1515: ) { ! 1516: goto L623; /* mov.%t %y,%z; %f.%t %x,%z */ ! 1517: } ! 1518: } ! 1519: a->op = 615; ! 1520: break; ! 1521: case 616: L616: /* %f.%t %x,%z |mod */ ! 1522: dumptree(a, 616); ! 1523: a->op = 616; ! 1524: break; ! 1525: case 617: L617: /* %f.%t %z */ ! 1526: dumptree(a, 617); ! 1527: /* $a%c */ ! 1528: /* $d%c */ ! 1529: if ("\0\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[2]]) { ! 1530: if ( ! 1531: !regchain(a) ! 1532: ) { ! 1533: goto L624; /* mov.%t %y,%z; %f.%t %z */ ! 1534: } ! 1535: } ! 1536: a->op = 617; ! 1537: break; ! 1538: case 618: L618: /* clr.%t %z */ ! 1539: dumptree(a, 618); ! 1540: a->op = 618; ! 1541: break; ! 1542: case 619: L619: /* cmp.%t %y,%x; b%f %z */ ! 1543: dumptree(a, 619); ! 1544: /* $d%n */ ! 1545: /* $d%c */ ! 1546: /* _%c */ ! 1547: /* _%c($a%n) */ ! 1548: /* %c($a%n) */ ! 1549: /* %c($sp) */ ! 1550: /* %c($a6) */ ! 1551: /* ($a%n) */ ! 1552: if ("\0\0\0\1\1\1\1\0\0\1\1\1\1\0\0\0\0\0\0\0"[a->x.ints[0]]) { ! 1553: if ( ! 1554: a->x.ints[1] == 15 /* &%c */ ! 1555: && a->syms[1]->x.name == sym[3].x.name /* 0 */ ! 1556: ) { ! 1557: goto L625; /* tst.%t %y; b%f %z */ ! 1558: } ! 1559: } ! 1560: a->op = 619; ! 1561: break; ! 1562: case 620: L620: /* bra %z */ ! 1563: dumptree(a, 620); ! 1564: a->op = 620; ! 1565: break; ! 1566: case 621: L621: /* lea %y,%z */ ! 1567: dumptree(a, 621); ! 1568: a->op = 621; ! 1569: break; ! 1570: case 622: L622: /* mov.%t %y,%z */ ! 1571: dumptree(a, 622); ! 1572: if ( ! 1573: a->x.ints[0] == 15 /* &%c */ ! 1574: && a->syms[0]->x.name == sym[3].x.name /* 0 */ ! 1575: ) { ! 1576: /* $d%n */ ! 1577: /* $d%c */ ! 1578: /* _%c */ ! 1579: /* _%c($a%n) */ ! 1580: /* %c($a%n) */ ! 1581: /* %c($sp) */ ! 1582: /* %c($a6) */ ! 1583: /* ($a%n) */ ! 1584: if ("\0\0\0\1\1\1\1\0\0\1\1\1\1\0\0\0\0\0\0\0"[a->x.ints[2]]) { ! 1585: goto L618; /* clr.%t %z */ ! 1586: } ! 1587: } ! 1588: if ( ! 1589: a->x.ints[0] == a->x.ints[2] ! 1590: && a->kids[0] == a->kids[2] ! 1591: && a->kids[3] == a->kids[5] ! 1592: && a->syms[0] == a->syms[2] ! 1593: ) { ! 1594: goto L613; /* # nop */ ! 1595: } ! 1596: a->op = 622; ! 1597: break; ! 1598: case 623: L623: /* mov.%t %y,%z; %f.%t %x,%z */ ! 1599: dumptree(a, 623); ! 1600: a->op = 623; ! 1601: break; ! 1602: case 624: L624: /* mov.%t %y,%z; %f.%t %z */ ! 1603: dumptree(a, 624); ! 1604: a->op = 624; ! 1605: break; ! 1606: case 625: L625: /* tst.%t %y; b%f %z */ ! 1607: dumptree(a, 625); ! 1608: a->op = 625; ! 1609: break; ! 1610: case 626: L626: /* %z: */ ! 1611: dumptree(a, 626); ! 1612: a->op = 626; ! 1613: break; ! 1614: case 627: L627: /* ext.w %z; ext.l %z */ ! 1615: dumptree(a, 627); ! 1616: a->op = 627; ! 1617: break; ! 1618: case 628: L628: /* %f.%t %x,%z; ext.w %z */ ! 1619: dumptree(a, 628); ! 1620: a->op = 628; ! 1621: break; ! 1622: case 629: L629: /* %f.%t %x,%z; and &0xffff,%z */ ! 1623: dumptree(a, 629); ! 1624: a->op = 629; ! 1625: break; ! 1626: case 630: L630: /* %f.%t %x,%z; swap; ext.w %z */ ! 1627: dumptree(a, 630); ! 1628: a->op = 630; ! 1629: break; ! 1630: case 631: L631: /* %f.%t %x,%z; swap; and &0xffff,%z */ ! 1631: dumptree(a, 631); ! 1632: a->op = 631; ! 1633: break; ! 1634: } ! 1635: } ! 1636: ! 1637: void rewrite(a) ! 1638: register Node a; ! 1639: { ! 1640: register Node b, c; ! 1641: register int s; ! 1642: assert(a); ! 1643: switch (a->op) { ! 1644: case 19: L19: /* CNSTC */ ! 1645: dumptree(a, a->op); ! 1646: setreg(a, rmap[C]); ! 1647: a->x.ints[2] = 4; /* $d%c */ ! 1648: a->x.ints[0] = 15; /* &%c */ ! 1649: a->x.ints[4] = 1; /* b */ ! 1650: goto L622; /* mov.%t %y,%z */ ! 1651: case 20: L20: /* CNSTS */ ! 1652: dumptree(a, a->op); ! 1653: setreg(a, rmap[S]); ! 1654: a->x.ints[2] = 4; /* $d%c */ ! 1655: a->x.ints[0] = 15; /* &%c */ ! 1656: a->x.ints[4] = 2; /* w */ ! 1657: goto L622; /* mov.%t %y,%z */ ! 1658: case 21: L21: /* CNSTI */ ! 1659: dumptree(a, a->op); ! 1660: setreg(a, rmap[I]); ! 1661: a->x.ints[2] = 4; /* $d%c */ ! 1662: a->x.ints[0] = 15; /* &%c */ ! 1663: a->x.ints[4] = 3; /* l */ ! 1664: goto L622; /* mov.%t %y,%z */ ! 1665: case 22: L22: /* CNSTU */ ! 1666: dumptree(a, a->op); ! 1667: setreg(a, rmap[U]); ! 1668: a->x.ints[2] = 4; /* $d%c */ ! 1669: a->x.ints[0] = 15; /* &%c */ ! 1670: a->x.ints[4] = 3; /* l */ ! 1671: goto L622; /* mov.%t %y,%z */ ! 1672: case 23: L23: /* CNSTP */ ! 1673: dumptree(a, a->op); ! 1674: setreg(a, rmap[P]); ! 1675: a->x.ints[2] = 2; /* $a%c */ ! 1676: a->x.ints[0] = 15; /* &%c */ ! 1677: a->x.ints[4] = 3; /* l */ ! 1678: goto L622; /* mov.%t %y,%z */ ! 1679: case 37: L37: /* ARGI */ ! 1680: dumptree(a, a->op); ! 1681: doarg(a); ! 1682: rewrite(a->kids[0]); ! 1683: a->x.ints[2] = 10; /* %c($sp) */ ! 1684: a->x.ints[0] = 3; /* $d%n */ ! 1685: a->x.ints[4] = 3; /* l */ ! 1686: goto L622; /* mov.%t %y,%z */ ! 1687: case 39: L39: /* ARGP */ ! 1688: dumptree(a, a->op); ! 1689: doarg(a); ! 1690: rewrite(a->kids[0]); ! 1691: a->x.ints[2] = 10; /* %c($sp) */ ! 1692: a->x.ints[0] = 1; /* $a%n */ ! 1693: a->x.ints[4] = 3; /* l */ ! 1694: goto L622; /* mov.%t %y,%z */ ! 1695: case 41: L41: /* ARGB */ ! 1696: dumptree(a, a->op); ! 1697: doarg(a); ! 1698: rewrite(a->kids[0]); ! 1699: a->syms[1] = a->syms[0]; ! 1700: a->x.ints[1] = 16; /* &%c/2 */ ! 1701: a->x.ints[2] = 10; /* %c($sp) */ ! 1702: rtarget(a,0,a0); ! 1703: goto L610; /* lea %z,$a1; mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6 */ ! 1704: case 51: L51: /* ASGNC */ ! 1705: dumptree(a, a->op); ! 1706: rewrite(a->kids[0]); ! 1707: rewrite(a->kids[1]); ! 1708: a->kids[2] = a->kids[0]; ! 1709: a->kids[0] = 0; ! 1710: a->x.ints[2] = 12; /* ($a%n) */ ! 1711: a->x.ints[0] = 3; /* $d%n */ ! 1712: a->x.ints[4] = 1; /* b */ ! 1713: a->kids[0] = a->kids[1]; ! 1714: a->kids[1] = 0; ! 1715: goto L622; /* mov.%t %y,%z */ ! 1716: case 52: L52: /* ASGNS */ ! 1717: dumptree(a, a->op); ! 1718: rewrite(a->kids[0]); ! 1719: rewrite(a->kids[1]); ! 1720: a->kids[2] = a->kids[0]; ! 1721: a->kids[0] = 0; ! 1722: a->x.ints[2] = 12; /* ($a%n) */ ! 1723: a->x.ints[0] = 3; /* $d%n */ ! 1724: a->x.ints[4] = 2; /* w */ ! 1725: a->kids[0] = a->kids[1]; ! 1726: a->kids[1] = 0; ! 1727: goto L622; /* mov.%t %y,%z */ ! 1728: case 53: L53: /* ASGNI */ ! 1729: dumptree(a, a->op); ! 1730: rewrite(a->kids[0]); ! 1731: rewrite(a->kids[1]); ! 1732: a->kids[2] = a->kids[0]; ! 1733: a->kids[0] = 0; ! 1734: a->x.ints[2] = 12; /* ($a%n) */ ! 1735: a->x.ints[0] = 3; /* $d%n */ ! 1736: a->x.ints[4] = 3; /* l */ ! 1737: a->kids[0] = a->kids[1]; ! 1738: a->kids[1] = 0; ! 1739: goto L622; /* mov.%t %y,%z */ ! 1740: case 55: L55: /* ASGNP */ ! 1741: dumptree(a, a->op); ! 1742: rewrite(a->kids[0]); ! 1743: rewrite(a->kids[1]); ! 1744: a->kids[2] = a->kids[0]; ! 1745: a->kids[0] = 0; ! 1746: a->x.ints[2] = 12; /* ($a%n) */ ! 1747: a->x.ints[0] = 1; /* $a%n */ ! 1748: a->x.ints[4] = 3; /* l */ ! 1749: a->kids[0] = a->kids[1]; ! 1750: a->kids[1] = 0; ! 1751: goto L622; /* mov.%t %y,%z */ ! 1752: case 57: L57: /* ASGNB */ ! 1753: dumptree(a, a->op); ! 1754: rewrite(a->kids[0]); ! 1755: rewrite(a->kids[1]); ! 1756: a->syms[1] = a->syms[0]; ! 1757: a->x.ints[1] = 16; /* &%c/2 */ ! 1758: rtarget(a,0,a1), rtarget(a,1,a0); ! 1759: a->kids[2] = a->kids[0]; ! 1760: a->kids[0] = 0; ! 1761: a->kids[0] = a->kids[1]; ! 1762: a->kids[1] = 0; ! 1763: goto L611; /* mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6 */ ! 1764: case 67: L67: /* INDIRC */ ! 1765: dumptree(a, a->op); ! 1766: setreg(a, rmap[C]); ! 1767: rewrite(a->kids[0]); ! 1768: a->x.ints[2] = 4; /* $d%c */ ! 1769: a->x.ints[0] = 12; /* ($a%n) */ ! 1770: a->x.ints[4] = 1; /* b */ ! 1771: goto L622; /* mov.%t %y,%z */ ! 1772: case 68: L68: /* INDIRS */ ! 1773: dumptree(a, a->op); ! 1774: setreg(a, rmap[S]); ! 1775: rewrite(a->kids[0]); ! 1776: a->x.ints[2] = 4; /* $d%c */ ! 1777: a->x.ints[0] = 12; /* ($a%n) */ ! 1778: a->x.ints[4] = 2; /* w */ ! 1779: goto L622; /* mov.%t %y,%z */ ! 1780: case 69: L69: /* INDIRI */ ! 1781: dumptree(a, a->op); ! 1782: setreg(a, rmap[I]); ! 1783: rewrite(a->kids[0]); ! 1784: a->x.ints[2] = 4; /* $d%c */ ! 1785: a->x.ints[0] = 12; /* ($a%n) */ ! 1786: a->x.ints[4] = 3; /* l */ ! 1787: goto L622; /* mov.%t %y,%z */ ! 1788: case 71: L71: /* INDIRP */ ! 1789: dumptree(a, a->op); ! 1790: setreg(a, rmap[P]); ! 1791: rewrite(a->kids[0]); ! 1792: a->x.ints[2] = 2; /* $a%c */ ! 1793: a->x.ints[0] = 12; /* ($a%n) */ ! 1794: a->x.ints[4] = 3; /* l */ ! 1795: goto L622; /* mov.%t %y,%z */ ! 1796: case 73: L73: /* INDIRB */ ! 1797: dumptree(a, a->op); ! 1798: setreg(a, rmap[P]); ! 1799: rewrite(a->kids[0]); ! 1800: a->x.ints[2] = 2; /* $a%c */ ! 1801: a->x.ints[0] = 1; /* $a%n */ ! 1802: a->x.ints[4] = 3; /* l */ ! 1803: goto L622; /* mov.%t %y,%z */ ! 1804: case 85: L85: /* CVCI */ ! 1805: dumptree(a, a->op); ! 1806: setreg(a, rmap[I]); ! 1807: rewrite(a->kids[0]); ! 1808: a->x.ints[2] = 4; /* $d%c */ ! 1809: a->x.ints[2] = 4; /* $d%c */ ! 1810: a->x.ints[0] = 3; /* $d%n */ ! 1811: a->x.zap0=1; ! 1812: goto L627; /* ext.w %z; ext.l %z */ ! 1813: case 86: L86: /* CVCU */ ! 1814: dumptree(a, a->op); ! 1815: setreg(a, rmap[U]); ! 1816: rewrite(a->kids[0]); ! 1817: a->x.ints[2] = 4; /* $d%c */ ! 1818: a->syms[1] = &sym[1]; /* 0xff */ ! 1819: a->x.ints[1] = 15; /* &%c */ ! 1820: a->x.ints[4] = 3; /* l */ ! 1821: a->x.ints[3] = 2; /* and */ ! 1822: a->x.ints[0] = 3; /* $d%n */ ! 1823: a->x.zap0=1; ! 1824: goto L615; /* %f.%t %x,%z */ ! 1825: case 131: L131: /* CVIC */ ! 1826: dumptree(a, a->op); ! 1827: setreg(a, rmap[C]); ! 1828: rewrite(a->kids[0]); ! 1829: a->x.ints[2] = 4; /* $d%c */ ! 1830: a->x.ints[0] = 3; /* $d%n */ ! 1831: a->x.ints[4] = 1; /* b */ ! 1832: goto L622; /* mov.%t %y,%z */ ! 1833: case 132: L132: /* CVIS */ ! 1834: dumptree(a, a->op); ! 1835: setreg(a, rmap[S]); ! 1836: rewrite(a->kids[0]); ! 1837: a->x.ints[2] = 4; /* $d%c */ ! 1838: a->x.ints[0] = 3; /* $d%n */ ! 1839: a->x.ints[4] = 2; /* w */ ! 1840: goto L622; /* mov.%t %y,%z */ ! 1841: case 134: L134: /* CVIU */ ! 1842: dumptree(a, a->op); ! 1843: setreg(a, rmap[U]); ! 1844: rewrite(a->kids[0]); ! 1845: a->x.ints[2] = 4; /* $d%c */ ! 1846: a->x.ints[0] = 3; /* $d%n */ ! 1847: a->x.ints[4] = 3; /* l */ ! 1848: goto L622; /* mov.%t %y,%z */ ! 1849: case 150: L150: /* CVPU */ ! 1850: dumptree(a, a->op); ! 1851: setreg(a, rmap[U]); ! 1852: rewrite(a->kids[0]); ! 1853: a->x.ints[2] = 4; /* $d%c */ ! 1854: a->x.ints[0] = 1; /* $a%n */ ! 1855: a->x.ints[4] = 3; /* l */ ! 1856: goto L622; /* mov.%t %y,%z */ ! 1857: case 165: L165: /* CVSI */ ! 1858: dumptree(a, a->op); ! 1859: setreg(a, rmap[I]); ! 1860: rewrite(a->kids[0]); ! 1861: a->x.ints[2] = 4; /* $d%c */ ! 1862: a->x.ints[4] = 3; /* l */ ! 1863: a->x.ints[3] = 11; /* ext */ ! 1864: a->x.ints[0] = 3; /* $d%n */ ! 1865: a->x.zap0=1; ! 1866: goto L617; /* %f.%t %z */ ! 1867: case 166: L166: /* CVSU */ ! 1868: dumptree(a, a->op); ! 1869: setreg(a, rmap[U]); ! 1870: rewrite(a->kids[0]); ! 1871: a->x.ints[2] = 4; /* $d%c */ ! 1872: a->syms[1] = &sym[2]; /* 0xffff */ ! 1873: a->x.ints[1] = 15; /* &%c */ ! 1874: a->x.ints[4] = 3; /* l */ ! 1875: a->x.ints[3] = 2; /* and */ ! 1876: a->x.ints[0] = 3; /* $d%n */ ! 1877: a->x.zap0=1; ! 1878: goto L615; /* %f.%t %x,%z */ ! 1879: case 179: L179: /* CVUC */ ! 1880: dumptree(a, a->op); ! 1881: setreg(a, rmap[C]); ! 1882: rewrite(a->kids[0]); ! 1883: a->x.ints[2] = 4; /* $d%c */ ! 1884: a->x.ints[0] = 3; /* $d%n */ ! 1885: a->x.ints[4] = 1; /* b */ ! 1886: goto L622; /* mov.%t %y,%z */ ! 1887: case 180: L180: /* CVUS */ ! 1888: dumptree(a, a->op); ! 1889: setreg(a, rmap[S]); ! 1890: rewrite(a->kids[0]); ! 1891: a->x.ints[2] = 4; /* $d%c */ ! 1892: a->x.ints[0] = 3; /* $d%n */ ! 1893: a->x.ints[4] = 2; /* w */ ! 1894: goto L622; /* mov.%t %y,%z */ ! 1895: case 181: L181: /* CVUI */ ! 1896: dumptree(a, a->op); ! 1897: setreg(a, rmap[I]); ! 1898: rewrite(a->kids[0]); ! 1899: a->x.ints[2] = 4; /* $d%c */ ! 1900: a->x.ints[0] = 3; /* $d%n */ ! 1901: a->x.ints[4] = 3; /* l */ ! 1902: goto L622; /* mov.%t %y,%z */ ! 1903: case 183: L183: /* CVUP */ ! 1904: dumptree(a, a->op); ! 1905: setreg(a, rmap[P]); ! 1906: rewrite(a->kids[0]); ! 1907: a->x.ints[2] = 2; /* $a%c */ ! 1908: a->x.ints[0] = 3; /* $d%n */ ! 1909: a->x.ints[4] = 3; /* l */ ! 1910: goto L622; /* mov.%t %y,%z */ ! 1911: case 197: L197: /* NEGI */ ! 1912: dumptree(a, a->op); ! 1913: setreg(a, rmap[I]); ! 1914: rewrite(a->kids[0]); ! 1915: a->x.ints[2] = 4; /* $d%c */ ! 1916: a->x.ints[4] = 3; /* l */ ! 1917: a->x.ints[3] = 23; /* neg */ ! 1918: a->x.ints[0] = 3; /* $d%n */ ! 1919: a->x.zap0=1; ! 1920: goto L617; /* %f.%t %z */ ! 1921: case 213: L213: /* CALLI */ ! 1922: dumptree(a, a->op); ! 1923: setreg(a, rmap[I]); ! 1924: docall(a); ! 1925: rewrite(a->kids[0]); ! 1926: a->x.ints[0] = 12; /* ($a%n) */ ! 1927: setreg(a,d0); ! 1928: goto L609; /* jsr %y */ ! 1929: case 216: L216: /* CALLV */ ! 1930: dumptree(a, a->op); ! 1931: docall(a); ! 1932: rewrite(a->kids[0]); ! 1933: a->x.ints[0] = 12; /* ($a%n) */ ! 1934: setreg(a,d0); ! 1935: goto L609; /* jsr %y */ ! 1936: case 217: L217: /* CALLB */ ! 1937: dumptree(a, a->op); ! 1938: docall(a); ! 1939: rewrite(a->kids[0]); ! 1940: rewrite(a->kids[1]); ! 1941: a->x.ints[0] = 12; /* ($a%n) */ ! 1942: rtarget(a,1,a1), setreg(a,d0); ! 1943: goto L609; /* jsr %y */ ! 1944: case 227: L227: /* LOADC */ ! 1945: case 228: L228: /* LOADS */ ! 1946: case 229: L229: /* LOADI */ ! 1947: case 230: L230: /* LOADU */ ! 1948: dumptree(a, a->op); ! 1949: rewrite(a->kids[0]); ! 1950: a->x.ints[2] = 4; /* $d%c */ ! 1951: a->x.ints[0] = 3; /* $d%n */ ! 1952: a->x.ints[4] = 3; /* l */ ! 1953: goto L622; /* mov.%t %y,%z */ ! 1954: case 231: L231: /* LOADP */ ! 1955: dumptree(a, a->op); ! 1956: rewrite(a->kids[0]); ! 1957: a->x.ints[2] = 2; /* $a%c */ ! 1958: a->x.ints[0] = 1; /* $a%n */ ! 1959: a->x.ints[4] = 3; /* l */ ! 1960: goto L622; /* mov.%t %y,%z */ ! 1961: case 233: L233: /* LOADB */ ! 1962: dumptree(a, a->op); ! 1963: rewrite(a->kids[0]); ! 1964: a->x.ints[2] = 2; /* $a%c */ ! 1965: a->x.ints[0] = 1; /* $a%n */ ! 1966: a->x.ints[4] = 3; /* l */ ! 1967: goto L622; /* mov.%t %y,%z */ ! 1968: case 245: L245: /* RETI */ ! 1969: dumptree(a, a->op); ! 1970: rewrite(a->kids[0]); ! 1971: rtarget(a,0,d0); ! 1972: goto L614; /* # ret */ ! 1973: case 248: L248: /* RETV */ ! 1974: dumptree(a, a->op); ! 1975: goto L614; /* # ret */ ! 1976: case 263: L263: /* ADDRGP */ ! 1977: dumptree(a, a->op); ! 1978: setreg(a, rmap[P]); ! 1979: a->x.ints[2] = 2; /* $a%c */ ! 1980: a->x.ints[0] = 5; /* _%c */ ! 1981: goto L621; /* lea %y,%z */ ! 1982: case 279: L279: /* ADDRFP */ ! 1983: dumptree(a, a->op); ! 1984: setreg(a, rmap[P]); ! 1985: a->x.ints[2] = 2; /* $a%c */ ! 1986: a->x.ints[0] = 11; /* %c($a6) */ ! 1987: goto L621; /* lea %y,%z */ ! 1988: case 295: L295: /* ADDRLP */ ! 1989: dumptree(a, a->op); ! 1990: setreg(a, rmap[P]); ! 1991: a->x.ints[2] = 2; /* $a%c */ ! 1992: a->x.ints[0] = 11; /* %c($a6) */ ! 1993: goto L621; /* lea %y,%z */ ! 1994: case 309: L309: /* ADDI */ ! 1995: dumptree(a, a->op); ! 1996: setreg(a, rmap[I]); ! 1997: rewrite(a->kids[0]); ! 1998: rewrite(a->kids[1]); ! 1999: a->x.ints[2] = 4; /* $d%c */ ! 2000: a->x.ints[1] = 3; /* $d%n */ ! 2001: a->x.ints[4] = 3; /* l */ ! 2002: a->x.ints[3] = 1; /* add */ ! 2003: a->x.ints[0] = 3; /* $d%n */ ! 2004: a->x.zap0=1; ! 2005: goto L615; /* %f.%t %x,%z */ ! 2006: case 310: L310: /* ADDU */ ! 2007: dumptree(a, a->op); ! 2008: setreg(a, rmap[U]); ! 2009: rewrite(a->kids[0]); ! 2010: rewrite(a->kids[1]); ! 2011: a->x.ints[2] = 4; /* $d%c */ ! 2012: a->x.ints[1] = 3; /* $d%n */ ! 2013: a->x.ints[4] = 3; /* l */ ! 2014: a->x.ints[3] = 1; /* add */ ! 2015: a->x.ints[0] = 3; /* $d%n */ ! 2016: a->x.zap0=1; ! 2017: goto L615; /* %f.%t %x,%z */ ! 2018: case 311: L311: /* ADDP */ ! 2019: dumptree(a, a->op); ! 2020: setreg(a, rmap[P]); ! 2021: rewrite(a->kids[0]); ! 2022: rewrite(a->kids[1]); ! 2023: a->x.ints[2] = 2; /* $a%c */ ! 2024: a->x.ints[1] = 3; /* $d%n */ ! 2025: a->x.ints[4] = 3; /* l */ ! 2026: a->x.ints[3] = 1; /* add */ ! 2027: a->x.ints[0] = 1; /* $a%n */ ! 2028: a->x.zap0=1; ! 2029: goto L615; /* %f.%t %x,%z */ ! 2030: case 325: L325: /* SUBI */ ! 2031: dumptree(a, a->op); ! 2032: setreg(a, rmap[I]); ! 2033: rewrite(a->kids[0]); ! 2034: rewrite(a->kids[1]); ! 2035: a->x.ints[2] = 4; /* $d%c */ ! 2036: a->x.ints[1] = 3; /* $d%n */ ! 2037: a->x.ints[4] = 3; /* l */ ! 2038: a->x.ints[3] = 26; /* sub */ ! 2039: a->x.ints[0] = 3; /* $d%n */ ! 2040: a->x.zap0=1; ! 2041: goto L615; /* %f.%t %x,%z */ ! 2042: case 326: L326: /* SUBU */ ! 2043: dumptree(a, a->op); ! 2044: setreg(a, rmap[U]); ! 2045: rewrite(a->kids[0]); ! 2046: rewrite(a->kids[1]); ! 2047: a->x.ints[2] = 4; /* $d%c */ ! 2048: a->x.ints[1] = 3; /* $d%n */ ! 2049: a->x.ints[4] = 3; /* l */ ! 2050: a->x.ints[3] = 26; /* sub */ ! 2051: a->x.ints[0] = 3; /* $d%n */ ! 2052: a->x.zap0=1; ! 2053: goto L615; /* %f.%t %x,%z */ ! 2054: case 327: L327: /* SUBP */ ! 2055: dumptree(a, a->op); ! 2056: setreg(a, rmap[P]); ! 2057: rewrite(a->kids[0]); ! 2058: rewrite(a->kids[1]); ! 2059: a->x.ints[2] = 2; /* $a%c */ ! 2060: a->x.ints[1] = 3; /* $d%n */ ! 2061: a->x.ints[4] = 3; /* l */ ! 2062: a->x.ints[3] = 26; /* sub */ ! 2063: a->x.ints[0] = 1; /* $a%n */ ! 2064: a->x.zap0=1; ! 2065: goto L615; /* %f.%t %x,%z */ ! 2066: case 341: L341: /* LSHI */ ! 2067: dumptree(a, a->op); ! 2068: setreg(a, rmap[I]); ! 2069: rewrite(a->kids[0]); ! 2070: rewrite(a->kids[1]); ! 2071: a->x.ints[2] = 4; /* $d%c */ ! 2072: a->x.ints[1] = 3; /* $d%n */ ! 2073: a->x.ints[4] = 3; /* l */ ! 2074: a->x.ints[3] = 3; /* asl */ ! 2075: a->x.ints[0] = 3; /* $d%n */ ! 2076: a->x.zap0=1; ! 2077: goto L615; /* %f.%t %x,%z */ ! 2078: case 342: L342: /* LSHU */ ! 2079: dumptree(a, a->op); ! 2080: setreg(a, rmap[U]); ! 2081: rewrite(a->kids[0]); ! 2082: rewrite(a->kids[1]); ! 2083: a->x.ints[2] = 4; /* $d%c */ ! 2084: a->x.ints[1] = 3; /* $d%n */ ! 2085: a->x.ints[4] = 3; /* l */ ! 2086: a->x.ints[3] = 17; /* lsl */ ! 2087: a->x.ints[0] = 3; /* $d%n */ ! 2088: a->x.zap0=1; ! 2089: goto L615; /* %f.%t %x,%z */ ! 2090: case 357: L357: /* MODI */ ! 2091: dumptree(a, a->op); ! 2092: setreg(a, rmap[I]); ! 2093: rewrite(a->kids[0]); ! 2094: rewrite(a->kids[1]); ! 2095: a->x.ints[2] = 4; /* $d%c */ ! 2096: a->x.ints[1] = 3; /* $d%n */ ! 2097: a->x.ints[4] = 2; /* w */ ! 2098: a->x.ints[3] = 7; /* divs */ ! 2099: a->x.ints[0] = 3; /* $d%n */ ! 2100: a->x.zap0=1; ! 2101: goto L630; /* %f.%t %x,%z; swap; ext.w %z */ ! 2102: case 358: L358: /* MODU */ ! 2103: dumptree(a, a->op); ! 2104: setreg(a, rmap[U]); ! 2105: rewrite(a->kids[0]); ! 2106: rewrite(a->kids[1]); ! 2107: a->x.ints[2] = 4; /* $d%c */ ! 2108: a->x.ints[1] = 3; /* $d%n */ ! 2109: a->x.ints[4] = 2; /* w */ ! 2110: a->x.ints[3] = 8; /* divu */ ! 2111: a->x.ints[0] = 3; /* $d%n */ ! 2112: a->x.zap0=1; ! 2113: goto L631; /* %f.%t %x,%z; swap; and &0xffff,%z */ ! 2114: case 373: L373: /* RSHI */ ! 2115: dumptree(a, a->op); ! 2116: setreg(a, rmap[I]); ! 2117: rewrite(a->kids[0]); ! 2118: rewrite(a->kids[1]); ! 2119: a->x.ints[2] = 4; /* $d%c */ ! 2120: a->x.ints[1] = 3; /* $d%n */ ! 2121: a->x.ints[4] = 3; /* l */ ! 2122: a->x.ints[3] = 4; /* asr */ ! 2123: a->x.ints[0] = 3; /* $d%n */ ! 2124: a->x.zap0=1; ! 2125: goto L615; /* %f.%t %x,%z */ ! 2126: case 374: L374: /* RSHU */ ! 2127: dumptree(a, a->op); ! 2128: setreg(a, rmap[U]); ! 2129: rewrite(a->kids[0]); ! 2130: rewrite(a->kids[1]); ! 2131: a->x.ints[2] = 4; /* $d%c */ ! 2132: a->x.ints[1] = 3; /* $d%n */ ! 2133: a->x.ints[4] = 3; /* l */ ! 2134: a->x.ints[3] = 18; /* lsr */ ! 2135: a->x.ints[0] = 3; /* $d%n */ ! 2136: a->x.zap0=1; ! 2137: goto L615; /* %f.%t %x,%z */ ! 2138: case 390: L390: /* BANDU */ ! 2139: dumptree(a, a->op); ! 2140: setreg(a, rmap[U]); ! 2141: rewrite(a->kids[0]); ! 2142: rewrite(a->kids[1]); ! 2143: a->x.ints[2] = 4; /* $d%c */ ! 2144: a->x.ints[1] = 3; /* $d%n */ ! 2145: a->x.ints[4] = 3; /* l */ ! 2146: a->x.ints[3] = 2; /* and */ ! 2147: a->x.ints[0] = 3; /* $d%n */ ! 2148: a->x.zap0=1; ! 2149: goto L615; /* %f.%t %x,%z */ ! 2150: case 406: L406: /* BCOMU */ ! 2151: dumptree(a, a->op); ! 2152: setreg(a, rmap[U]); ! 2153: rewrite(a->kids[0]); ! 2154: a->x.ints[2] = 4; /* $d%c */ ! 2155: a->x.ints[4] = 3; /* l */ ! 2156: a->x.ints[3] = 24; /* not */ ! 2157: a->x.ints[0] = 3; /* $d%n */ ! 2158: a->x.zap0=1; ! 2159: goto L617; /* %f.%t %z */ ! 2160: case 422: L422: /* BORU */ ! 2161: dumptree(a, a->op); ! 2162: setreg(a, rmap[U]); ! 2163: rewrite(a->kids[0]); ! 2164: rewrite(a->kids[1]); ! 2165: a->x.ints[2] = 4; /* $d%c */ ! 2166: a->x.ints[1] = 3; /* $d%n */ ! 2167: a->x.ints[4] = 3; /* l */ ! 2168: a->x.ints[3] = 25; /* or */ ! 2169: a->x.ints[0] = 3; /* $d%n */ ! 2170: a->x.zap0=1; ! 2171: goto L615; /* %f.%t %x,%z */ ! 2172: case 438: L438: /* BXORU */ ! 2173: dumptree(a, a->op); ! 2174: setreg(a, rmap[U]); ! 2175: rewrite(a->kids[0]); ! 2176: rewrite(a->kids[1]); ! 2177: a->x.ints[2] = 4; /* $d%c */ ! 2178: a->x.ints[1] = 3; /* $d%n */ ! 2179: a->x.ints[4] = 3; /* l */ ! 2180: a->x.ints[3] = 9; /* eor */ ! 2181: a->x.ints[0] = 3; /* $d%n */ ! 2182: a->x.zap0=1; ! 2183: goto L615; /* %f.%t %x,%z */ ! 2184: case 453: L453: /* DIVI */ ! 2185: dumptree(a, a->op); ! 2186: setreg(a, rmap[I]); ! 2187: rewrite(a->kids[0]); ! 2188: rewrite(a->kids[1]); ! 2189: a->x.ints[2] = 4; /* $d%c */ ! 2190: a->x.ints[1] = 3; /* $d%n */ ! 2191: a->x.ints[4] = 2; /* w */ ! 2192: a->x.ints[3] = 7; /* divs */ ! 2193: a->x.ints[0] = 3; /* $d%n */ ! 2194: a->x.zap0=1; ! 2195: goto L628; /* %f.%t %x,%z; ext.w %z */ ! 2196: case 454: L454: /* DIVU */ ! 2197: dumptree(a, a->op); ! 2198: setreg(a, rmap[U]); ! 2199: rewrite(a->kids[0]); ! 2200: rewrite(a->kids[1]); ! 2201: a->x.ints[2] = 4; /* $d%c */ ! 2202: a->x.ints[1] = 3; /* $d%n */ ! 2203: a->x.ints[4] = 2; /* w */ ! 2204: a->x.ints[3] = 8; /* divu */ ! 2205: a->x.ints[0] = 3; /* $d%n */ ! 2206: a->x.zap0=1; ! 2207: goto L629; /* %f.%t %x,%z; and &0xffff,%z */ ! 2208: case 469: L469: /* MULI */ ! 2209: dumptree(a, a->op); ! 2210: setreg(a, rmap[I]); ! 2211: rewrite(a->kids[0]); ! 2212: rewrite(a->kids[1]); ! 2213: a->x.ints[2] = 4; /* $d%c */ ! 2214: a->x.ints[1] = 3; /* $d%n */ ! 2215: a->x.ints[4] = 2; /* w */ ! 2216: a->x.ints[3] = 20; /* muls */ ! 2217: a->x.ints[0] = 3; /* $d%n */ ! 2218: a->x.zap0=1; ! 2219: goto L615; /* %f.%t %x,%z */ ! 2220: case 470: L470: /* MULU */ ! 2221: dumptree(a, a->op); ! 2222: setreg(a, rmap[U]); ! 2223: rewrite(a->kids[0]); ! 2224: rewrite(a->kids[1]); ! 2225: a->x.ints[2] = 4; /* $d%c */ ! 2226: a->x.ints[1] = 3; /* $d%n */ ! 2227: a->x.ints[4] = 2; /* w */ ! 2228: a->x.ints[3] = 21; /* mulu */ ! 2229: a->x.ints[0] = 3; /* $d%n */ ! 2230: a->x.zap0=1; ! 2231: goto L615; /* %f.%t %x,%z */ ! 2232: case 485: L485: /* EQI */ ! 2233: case 486: L486: /* EQU */ ! 2234: dumptree(a, a->op); ! 2235: rewrite(a->kids[0]); ! 2236: rewrite(a->kids[1]); ! 2237: a->syms[2] = a->syms[0]; ! 2238: a->x.ints[2] = 18; /* L%c */ ! 2239: a->x.ints[3] = 10; /* eq */ ! 2240: a->x.ints[1] = 3; /* $d%n */ ! 2241: a->x.ints[0] = 3; /* $d%n */ ! 2242: a->x.ints[4] = 3; /* l */ ! 2243: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 2244: case 501: L501: /* GEI */ ! 2245: dumptree(a, a->op); ! 2246: rewrite(a->kids[0]); ! 2247: rewrite(a->kids[1]); ! 2248: a->syms[2] = a->syms[0]; ! 2249: a->x.ints[2] = 18; /* L%c */ ! 2250: a->x.ints[3] = 12; /* ge */ ! 2251: a->x.ints[1] = 3; /* $d%n */ ! 2252: a->x.ints[0] = 3; /* $d%n */ ! 2253: a->x.ints[4] = 3; /* l */ ! 2254: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 2255: case 502: L502: /* GEU */ ! 2256: dumptree(a, a->op); ! 2257: rewrite(a->kids[0]); ! 2258: rewrite(a->kids[1]); ! 2259: a->syms[2] = a->syms[0]; ! 2260: a->x.ints[2] = 18; /* L%c */ ! 2261: a->x.ints[3] = 5; /* cc */ ! 2262: a->x.ints[1] = 3; /* $d%n */ ! 2263: a->x.ints[0] = 3; /* $d%n */ ! 2264: a->x.ints[4] = 3; /* l */ ! 2265: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 2266: case 517: L517: /* GTI */ ! 2267: dumptree(a, a->op); ! 2268: rewrite(a->kids[0]); ! 2269: rewrite(a->kids[1]); ! 2270: a->syms[2] = a->syms[0]; ! 2271: a->x.ints[2] = 18; /* L%c */ ! 2272: a->x.ints[3] = 13; /* gt */ ! 2273: a->x.ints[1] = 3; /* $d%n */ ! 2274: a->x.ints[0] = 3; /* $d%n */ ! 2275: a->x.ints[4] = 3; /* l */ ! 2276: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 2277: case 518: L518: /* GTU */ ! 2278: dumptree(a, a->op); ! 2279: rewrite(a->kids[0]); ! 2280: rewrite(a->kids[1]); ! 2281: a->syms[2] = a->syms[0]; ! 2282: a->x.ints[2] = 18; /* L%c */ ! 2283: a->x.ints[3] = 14; /* hi */ ! 2284: a->x.ints[1] = 3; /* $d%n */ ! 2285: a->x.ints[0] = 3; /* $d%n */ ! 2286: a->x.ints[4] = 3; /* l */ ! 2287: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 2288: case 533: L533: /* LEI */ ! 2289: dumptree(a, a->op); ! 2290: rewrite(a->kids[0]); ! 2291: rewrite(a->kids[1]); ! 2292: a->syms[2] = a->syms[0]; ! 2293: a->x.ints[2] = 18; /* L%c */ ! 2294: a->x.ints[3] = 15; /* le */ ! 2295: a->x.ints[1] = 3; /* $d%n */ ! 2296: a->x.ints[0] = 3; /* $d%n */ ! 2297: a->x.ints[4] = 3; /* l */ ! 2298: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 2299: case 534: L534: /* LEU */ ! 2300: dumptree(a, a->op); ! 2301: rewrite(a->kids[0]); ! 2302: rewrite(a->kids[1]); ! 2303: a->syms[2] = a->syms[0]; ! 2304: a->x.ints[2] = 18; /* L%c */ ! 2305: a->x.ints[3] = 16; /* ls */ ! 2306: a->x.ints[1] = 3; /* $d%n */ ! 2307: a->x.ints[0] = 3; /* $d%n */ ! 2308: a->x.ints[4] = 3; /* l */ ! 2309: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 2310: case 549: L549: /* LTI */ ! 2311: dumptree(a, a->op); ! 2312: rewrite(a->kids[0]); ! 2313: rewrite(a->kids[1]); ! 2314: a->syms[2] = a->syms[0]; ! 2315: a->x.ints[2] = 18; /* L%c */ ! 2316: a->x.ints[3] = 19; /* lt */ ! 2317: a->x.ints[1] = 3; /* $d%n */ ! 2318: a->x.ints[0] = 3; /* $d%n */ ! 2319: a->x.ints[4] = 3; /* l */ ! 2320: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 2321: case 550: L550: /* LTU */ ! 2322: dumptree(a, a->op); ! 2323: rewrite(a->kids[0]); ! 2324: rewrite(a->kids[1]); ! 2325: a->syms[2] = a->syms[0]; ! 2326: a->x.ints[2] = 18; /* L%c */ ! 2327: a->x.ints[3] = 6; /* cs */ ! 2328: a->x.ints[1] = 3; /* $d%n */ ! 2329: a->x.ints[0] = 3; /* $d%n */ ! 2330: a->x.ints[4] = 3; /* l */ ! 2331: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 2332: case 565: L565: /* NEI */ ! 2333: case 566: L566: /* NEU */ ! 2334: dumptree(a, a->op); ! 2335: rewrite(a->kids[0]); ! 2336: rewrite(a->kids[1]); ! 2337: a->syms[2] = a->syms[0]; ! 2338: a->x.ints[2] = 18; /* L%c */ ! 2339: a->x.ints[3] = 22; /* ne */ ! 2340: a->x.ints[1] = 3; /* $d%n */ ! 2341: a->x.ints[0] = 3; /* $d%n */ ! 2342: a->x.ints[4] = 3; /* l */ ! 2343: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 2344: case 584: L584: /* JUMPV */ ! 2345: dumptree(a, a->op); ! 2346: rewrite(a->kids[0]); ! 2347: a->kids[2] = a->kids[0]; ! 2348: a->kids[0] = 0; ! 2349: a->x.ints[2] = 12; /* ($a%n) */ ! 2350: goto L620; /* bra %z */ ! 2351: case 600: L600: /* LABELV */ ! 2352: dumptree(a, a->op); ! 2353: a->syms[2] = a->syms[0]; ! 2354: a->x.ints[2] = 18; /* L%c */ ! 2355: goto L626; /* %z: */ ! 2356: case 608: L608: /* %f%t %x,%z |mod */ ! 2357: dumptree(a, 608); ! 2358: a->op = 608; ! 2359: break; ! 2360: case 609: L609: /* jsr %y */ ! 2361: dumptree(a, 609); ! 2362: b = a->kids[0]; ! 2363: if ( ! 2364: a->x.ints[0] == 12 /* ($a%n) */ ! 2365: && b->op == 621 /* lea %y,%z */ ! 2366: ) { ! 2367: if ( ! 2368: b->x.ints[0] == 5 /* _%c */ ! 2369: ) { ! 2370: if (--b->count > 0) { ! 2371: if (c=b->kids[0]) ++c->count; ! 2372: if (c=b->kids[3]) ++c->count; ! 2373: } ! 2374: a->syms[0] = b->syms[0]; ! 2375: a->kids[3] = b->kids[3]; ! 2376: a->x.ints[0] = b->x.ints[0]; ! 2377: a->kids[0] = b->kids[0]; ! 2378: goto L609; /* jsr %y */ ! 2379: } ! 2380: if ( ! 2381: b->count == 1 ! 2382: ) { ! 2383: if (--b->count > 0) { ! 2384: if (c=b->kids[0]) ++c->count; ! 2385: if (c=b->kids[3]) ++c->count; ! 2386: } ! 2387: a->syms[0] = b->syms[0]; ! 2388: a->kids[3] = b->kids[3]; ! 2389: a->x.ints[0] = b->x.ints[0]; ! 2390: a->kids[0] = b->kids[0]; ! 2391: goto L609; /* jsr %y */ ! 2392: } ! 2393: if ( ! 2394: b->x.ints[0] == 11 /* %c($a6) */ ! 2395: ) { ! 2396: if (--b->count > 0) { ! 2397: if (c=b->kids[0]) ++c->count; ! 2398: if (c=b->kids[3]) ++c->count; ! 2399: } ! 2400: a->syms[0] = b->syms[0]; ! 2401: a->kids[3] = b->kids[3]; ! 2402: a->x.ints[0] = b->x.ints[0]; ! 2403: a->kids[0] = b->kids[0]; ! 2404: goto L609; /* jsr %y */ ! 2405: } ! 2406: } ! 2407: a->op = 609; ! 2408: break; ! 2409: case 610: L610: /* lea %z,$a1; mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6 */ ! 2410: dumptree(a, 610); ! 2411: a->op = 610; ! 2412: break; ! 2413: case 611: L611: /* mov.l %x,$d0; mov.w ($a0)+,($a1)+; sub.l &1,$d0; byte 0x6e,-6 */ ! 2414: dumptree(a, 611); ! 2415: a->op = 611; ! 2416: break; ! 2417: case 612: L612: /* # label */ ! 2418: dumptree(a, 612); ! 2419: a->op = 612; ! 2420: break; ! 2421: case 613: L613: /* # nop */ ! 2422: dumptree(a, 613); ! 2423: a->op = 613; ! 2424: break; ! 2425: case 614: L614: /* # ret */ ! 2426: dumptree(a, 614); ! 2427: a->op = 614; ! 2428: break; ! 2429: case 615: L615: /* %f.%t %x,%z */ ! 2430: dumptree(a, 615); ! 2431: switch (a->x.ints[3]) { ! 2432: case 1: /* add */ ! 2433: if ( ! 2434: a->x.ints[4] == 3 /* l */ ! 2435: && a->x.ints[1] == 3 /* $d%n */ ! 2436: && a->x.ints[2] == 2 /* $a%c */ ! 2437: && a->kids[1]->x.ints[2] == 2 /* $a%c */ ! 2438: ) { ! 2439: a->x.ints[1] = 1; /* $a%n */ ! 2440: a->x.ints[0] = 3; /* $d%n */ ! 2441: goto L615; /* %f.%t %x,%z */ ! 2442: } ! 2443: if ( ! 2444: a->x.ints[4] == 3 /* l */ ! 2445: ) { ! 2446: switch (a->x.ints[1]) { ! 2447: case 1: /* $a%n */ ! 2448: if ( ! 2449: a->x.ints[2] == 2 /* $a%c */ ! 2450: && a->x.ints[0] == 3 /* $d%n */ ! 2451: ) { ! 2452: a->x.ints[0] = 19; /* 0($a%n,$d%i.l) */ ! 2453: a->kids[3] = a->kids[0]; ! 2454: a->kids[0] = 0; ! 2455: a->kids[0] = a->kids[1]; ! 2456: a->kids[1] = 0; ! 2457: goto L621; /* lea %y,%z */ ! 2458: } ! 2459: break; ! 2460: case 15: /* &%c */ ! 2461: if ( ! 2462: a->x.ints[2] == 2 /* $a%c */ ! 2463: && a->x.ints[0] == 1 /* $a%n */ ! 2464: && range(getint(a->syms[1]),16) ! 2465: ) { ! 2466: a->x.ints[0] = 9; /* %c($a%n) */ ! 2467: a->syms[0] = a->syms[1]; ! 2468: a->x.zap0=0; ! 2469: goto L621; /* lea %y,%z */ ! 2470: } ! 2471: break; ! 2472: } ! 2473: } ! 2474: /* $a%n */ ! 2475: /* $d%n */ ! 2476: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[1]]) { ! 2477: /* $a%c */ ! 2478: /* $d%c */ ! 2479: if ("\0\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[2]]) { ! 2480: b = a->kids[1]; ! 2481: if ( ! 2482: b->op == 622 /* mov.%t %y,%z */ ! 2483: && a->x.ints[4] == b->x.ints[4] ! 2484: ) { ! 2485: /* $d%n */ ! 2486: /* &%c */ ! 2487: if ("\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"[b->x.ints[0]]) { ! 2488: if (--b->count > 0) { ! 2489: if (c=b->kids[0]) ++c->count; ! 2490: if (c=b->kids[3]) ++c->count; ! 2491: } ! 2492: a->syms[1] = b->syms[0]; ! 2493: a->kids[4] = b->kids[3]; ! 2494: a->x.ints[1] = b->x.ints[0]; ! 2495: a->kids[1] = b->kids[0]; ! 2496: goto L615; /* %f.%t %x,%z */ ! 2497: } ! 2498: if ( ! 2499: b->count == 1 ! 2500: ) { ! 2501: if (--b->count > 0) { ! 2502: if (c=b->kids[0]) ++c->count; ! 2503: if (c=b->kids[3]) ++c->count; ! 2504: } ! 2505: a->syms[1] = b->syms[0]; ! 2506: a->kids[4] = b->kids[3]; ! 2507: a->x.ints[1] = b->x.ints[0]; ! 2508: a->kids[1] = b->kids[0]; ! 2509: goto L615; /* %f.%t %x,%z */ ! 2510: } ! 2511: /* $a%n */ ! 2512: /* $d%n */ ! 2513: /* &%c */ ! 2514: /* &_%c */ ! 2515: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2516: if (--b->count > 0) { ! 2517: if (c=b->kids[0]) ++c->count; ! 2518: if (c=b->kids[3]) ++c->count; ! 2519: } ! 2520: a->syms[1] = b->syms[0]; ! 2521: a->kids[4] = b->kids[3]; ! 2522: a->x.ints[1] = b->x.ints[0]; ! 2523: a->kids[1] = b->kids[0]; ! 2524: goto L615; /* %f.%t %x,%z */ ! 2525: } ! 2526: if ( ! 2527: b->count == 1 ! 2528: ) { ! 2529: if (--b->count > 0) { ! 2530: if (c=b->kids[0]) ++c->count; ! 2531: if (c=b->kids[3]) ++c->count; ! 2532: } ! 2533: a->syms[1] = b->syms[0]; ! 2534: a->kids[4] = b->kids[3]; ! 2535: a->x.ints[1] = b->x.ints[0]; ! 2536: a->kids[1] = b->kids[0]; ! 2537: goto L615; /* %f.%t %x,%z */ ! 2538: } ! 2539: /* $a%n */ ! 2540: /* $d%n */ ! 2541: /* &%c */ ! 2542: /* &_%c */ ! 2543: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2544: if (--b->count > 0) { ! 2545: if (c=b->kids[0]) ++c->count; ! 2546: if (c=b->kids[3]) ++c->count; ! 2547: } ! 2548: a->syms[1] = b->syms[0]; ! 2549: a->kids[4] = b->kids[3]; ! 2550: a->x.ints[1] = b->x.ints[0]; ! 2551: a->kids[1] = b->kids[0]; ! 2552: goto L615; /* %f.%t %x,%z */ ! 2553: } ! 2554: if ( ! 2555: b->count == 1 ! 2556: ) { ! 2557: if (--b->count > 0) { ! 2558: if (c=b->kids[0]) ++c->count; ! 2559: if (c=b->kids[3]) ++c->count; ! 2560: } ! 2561: a->syms[1] = b->syms[0]; ! 2562: a->kids[4] = b->kids[3]; ! 2563: a->x.ints[1] = b->x.ints[0]; ! 2564: a->kids[1] = b->kids[0]; ! 2565: goto L615; /* %f.%t %x,%z */ ! 2566: } ! 2567: /* $a%n */ ! 2568: /* $d%n */ ! 2569: /* &%c */ ! 2570: /* &_%c */ ! 2571: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2572: if (--b->count > 0) { ! 2573: if (c=b->kids[0]) ++c->count; ! 2574: if (c=b->kids[3]) ++c->count; ! 2575: } ! 2576: a->syms[1] = b->syms[0]; ! 2577: a->kids[4] = b->kids[3]; ! 2578: a->x.ints[1] = b->x.ints[0]; ! 2579: a->kids[1] = b->kids[0]; ! 2580: goto L615; /* %f.%t %x,%z */ ! 2581: } ! 2582: if ( ! 2583: b->count == 1 ! 2584: ) { ! 2585: if (--b->count > 0) { ! 2586: if (c=b->kids[0]) ++c->count; ! 2587: if (c=b->kids[3]) ++c->count; ! 2588: } ! 2589: a->syms[1] = b->syms[0]; ! 2590: a->kids[4] = b->kids[3]; ! 2591: a->x.ints[1] = b->x.ints[0]; ! 2592: a->kids[1] = b->kids[0]; ! 2593: goto L615; /* %f.%t %x,%z */ ! 2594: } ! 2595: /* $a%n */ ! 2596: /* &_%c */ ! 2597: if ("\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"[b->x.ints[0]]) { ! 2598: if (--b->count > 0) { ! 2599: if (c=b->kids[0]) ++c->count; ! 2600: if (c=b->kids[3]) ++c->count; ! 2601: } ! 2602: a->syms[1] = b->syms[0]; ! 2603: a->kids[4] = b->kids[3]; ! 2604: a->x.ints[1] = b->x.ints[0]; ! 2605: a->kids[1] = b->kids[0]; ! 2606: goto L615; /* %f.%t %x,%z */ ! 2607: } ! 2608: } ! 2609: } ! 2610: } ! 2611: break; ! 2612: case 2: /* and */ ! 2613: b = a->kids[1]; ! 2614: if ( ! 2615: a->x.ints[1] == 3 /* $d%n */ ! 2616: && a->x.ints[2] == 4 /* $d%c */ ! 2617: && b->op == 622 /* mov.%t %y,%z */ ! 2618: ) { ! 2619: /* $d%n */ ! 2620: /* $d%c */ ! 2621: /* _%c */ ! 2622: /* _%c($a%n) */ ! 2623: /* %c($a%n) */ ! 2624: /* %c($sp) */ ! 2625: /* %c($a6) */ ! 2626: /* ($a%n) */ ! 2627: /* &%c */ ! 2628: /* &_%c */ ! 2629: if ("\0\0\0\1\1\1\1\0\0\1\1\1\1\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2630: if ( ! 2631: a->x.ints[4] == b->x.ints[4] ! 2632: ) { ! 2633: /* $d%n */ ! 2634: /* &%c */ ! 2635: if ("\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"[b->x.ints[0]]) { ! 2636: if (--b->count > 0) { ! 2637: if (c=b->kids[0]) ++c->count; ! 2638: if (c=b->kids[3]) ++c->count; ! 2639: } ! 2640: a->syms[1] = b->syms[0]; ! 2641: a->kids[4] = b->kids[3]; ! 2642: a->x.ints[1] = b->x.ints[0]; ! 2643: a->kids[1] = b->kids[0]; ! 2644: goto L615; /* %f.%t %x,%z */ ! 2645: } ! 2646: if ( ! 2647: b->count == 1 ! 2648: ) { ! 2649: if (--b->count > 0) { ! 2650: if (c=b->kids[0]) ++c->count; ! 2651: if (c=b->kids[3]) ++c->count; ! 2652: } ! 2653: a->syms[1] = b->syms[0]; ! 2654: a->kids[4] = b->kids[3]; ! 2655: a->x.ints[1] = b->x.ints[0]; ! 2656: a->kids[1] = b->kids[0]; ! 2657: goto L615; /* %f.%t %x,%z */ ! 2658: } ! 2659: /* $a%n */ ! 2660: /* $d%n */ ! 2661: /* &%c */ ! 2662: /* &_%c */ ! 2663: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2664: if (--b->count > 0) { ! 2665: if (c=b->kids[0]) ++c->count; ! 2666: if (c=b->kids[3]) ++c->count; ! 2667: } ! 2668: a->syms[1] = b->syms[0]; ! 2669: a->kids[4] = b->kids[3]; ! 2670: a->x.ints[1] = b->x.ints[0]; ! 2671: a->kids[1] = b->kids[0]; ! 2672: goto L615; /* %f.%t %x,%z */ ! 2673: } ! 2674: if ( ! 2675: b->count == 1 ! 2676: ) { ! 2677: if (--b->count > 0) { ! 2678: if (c=b->kids[0]) ++c->count; ! 2679: if (c=b->kids[3]) ++c->count; ! 2680: } ! 2681: a->syms[1] = b->syms[0]; ! 2682: a->kids[4] = b->kids[3]; ! 2683: a->x.ints[1] = b->x.ints[0]; ! 2684: a->kids[1] = b->kids[0]; ! 2685: goto L615; /* %f.%t %x,%z */ ! 2686: } ! 2687: /* $a%n */ ! 2688: /* $d%n */ ! 2689: /* &%c */ ! 2690: /* &_%c */ ! 2691: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2692: if (--b->count > 0) { ! 2693: if (c=b->kids[0]) ++c->count; ! 2694: if (c=b->kids[3]) ++c->count; ! 2695: } ! 2696: a->syms[1] = b->syms[0]; ! 2697: a->kids[4] = b->kids[3]; ! 2698: a->x.ints[1] = b->x.ints[0]; ! 2699: a->kids[1] = b->kids[0]; ! 2700: goto L615; /* %f.%t %x,%z */ ! 2701: } ! 2702: if ( ! 2703: b->count == 1 ! 2704: ) { ! 2705: if (--b->count > 0) { ! 2706: if (c=b->kids[0]) ++c->count; ! 2707: if (c=b->kids[3]) ++c->count; ! 2708: } ! 2709: a->syms[1] = b->syms[0]; ! 2710: a->kids[4] = b->kids[3]; ! 2711: a->x.ints[1] = b->x.ints[0]; ! 2712: a->kids[1] = b->kids[0]; ! 2713: goto L615; /* %f.%t %x,%z */ ! 2714: } ! 2715: /* $a%n */ ! 2716: /* $d%n */ ! 2717: /* &%c */ ! 2718: /* &_%c */ ! 2719: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2720: if (--b->count > 0) { ! 2721: if (c=b->kids[0]) ++c->count; ! 2722: if (c=b->kids[3]) ++c->count; ! 2723: } ! 2724: a->syms[1] = b->syms[0]; ! 2725: a->kids[4] = b->kids[3]; ! 2726: a->x.ints[1] = b->x.ints[0]; ! 2727: a->kids[1] = b->kids[0]; ! 2728: goto L615; /* %f.%t %x,%z */ ! 2729: } ! 2730: if ( ! 2731: b->count == 1 ! 2732: ) { ! 2733: if (--b->count > 0) { ! 2734: if (c=b->kids[0]) ++c->count; ! 2735: if (c=b->kids[3]) ++c->count; ! 2736: } ! 2737: a->syms[1] = b->syms[0]; ! 2738: a->kids[4] = b->kids[3]; ! 2739: a->x.ints[1] = b->x.ints[0]; ! 2740: a->kids[1] = b->kids[0]; ! 2741: goto L615; /* %f.%t %x,%z */ ! 2742: } ! 2743: /* $a%n */ ! 2744: /* $d%n */ ! 2745: /* &%c */ ! 2746: /* &_%c */ ! 2747: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2748: if (--b->count > 0) { ! 2749: if (c=b->kids[0]) ++c->count; ! 2750: if (c=b->kids[3]) ++c->count; ! 2751: } ! 2752: a->syms[1] = b->syms[0]; ! 2753: a->kids[4] = b->kids[3]; ! 2754: a->x.ints[1] = b->x.ints[0]; ! 2755: a->kids[1] = b->kids[0]; ! 2756: goto L615; /* %f.%t %x,%z */ ! 2757: } ! 2758: if ( ! 2759: b->count == 1 ! 2760: ) { ! 2761: if (--b->count > 0) { ! 2762: if (c=b->kids[0]) ++c->count; ! 2763: if (c=b->kids[3]) ++c->count; ! 2764: } ! 2765: a->syms[1] = b->syms[0]; ! 2766: a->kids[4] = b->kids[3]; ! 2767: a->x.ints[1] = b->x.ints[0]; ! 2768: a->kids[1] = b->kids[0]; ! 2769: goto L615; /* %f.%t %x,%z */ ! 2770: } ! 2771: /* $a%n */ ! 2772: /* $d%n */ ! 2773: /* &%c */ ! 2774: /* &_%c */ ! 2775: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2776: if (--b->count > 0) { ! 2777: if (c=b->kids[0]) ++c->count; ! 2778: if (c=b->kids[3]) ++c->count; ! 2779: } ! 2780: a->syms[1] = b->syms[0]; ! 2781: a->kids[4] = b->kids[3]; ! 2782: a->x.ints[1] = b->x.ints[0]; ! 2783: a->kids[1] = b->kids[0]; ! 2784: goto L615; /* %f.%t %x,%z */ ! 2785: } ! 2786: if ( ! 2787: b->count == 1 ! 2788: ) { ! 2789: if (--b->count > 0) { ! 2790: if (c=b->kids[0]) ++c->count; ! 2791: if (c=b->kids[3]) ++c->count; ! 2792: } ! 2793: a->syms[1] = b->syms[0]; ! 2794: a->kids[4] = b->kids[3]; ! 2795: a->x.ints[1] = b->x.ints[0]; ! 2796: a->kids[1] = b->kids[0]; ! 2797: goto L615; /* %f.%t %x,%z */ ! 2798: } ! 2799: /* $a%n */ ! 2800: /* $d%n */ ! 2801: /* &%c */ ! 2802: /* &_%c */ ! 2803: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2804: if (--b->count > 0) { ! 2805: if (c=b->kids[0]) ++c->count; ! 2806: if (c=b->kids[3]) ++c->count; ! 2807: } ! 2808: a->syms[1] = b->syms[0]; ! 2809: a->kids[4] = b->kids[3]; ! 2810: a->x.ints[1] = b->x.ints[0]; ! 2811: a->kids[1] = b->kids[0]; ! 2812: goto L615; /* %f.%t %x,%z */ ! 2813: } ! 2814: if ( ! 2815: b->count == 1 ! 2816: ) { ! 2817: if (--b->count > 0) { ! 2818: if (c=b->kids[0]) ++c->count; ! 2819: if (c=b->kids[3]) ++c->count; ! 2820: } ! 2821: a->syms[1] = b->syms[0]; ! 2822: a->kids[4] = b->kids[3]; ! 2823: a->x.ints[1] = b->x.ints[0]; ! 2824: a->kids[1] = b->kids[0]; ! 2825: goto L615; /* %f.%t %x,%z */ ! 2826: } ! 2827: /* $a%n */ ! 2828: /* $d%n */ ! 2829: /* &%c */ ! 2830: /* &_%c */ ! 2831: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2832: if (--b->count > 0) { ! 2833: if (c=b->kids[0]) ++c->count; ! 2834: if (c=b->kids[3]) ++c->count; ! 2835: } ! 2836: a->syms[1] = b->syms[0]; ! 2837: a->kids[4] = b->kids[3]; ! 2838: a->x.ints[1] = b->x.ints[0]; ! 2839: a->kids[1] = b->kids[0]; ! 2840: goto L615; /* %f.%t %x,%z */ ! 2841: } ! 2842: if ( ! 2843: b->count == 1 ! 2844: ) { ! 2845: if (--b->count > 0) { ! 2846: if (c=b->kids[0]) ++c->count; ! 2847: if (c=b->kids[3]) ++c->count; ! 2848: } ! 2849: a->syms[1] = b->syms[0]; ! 2850: a->kids[4] = b->kids[3]; ! 2851: a->x.ints[1] = b->x.ints[0]; ! 2852: a->kids[1] = b->kids[0]; ! 2853: goto L615; /* %f.%t %x,%z */ ! 2854: } ! 2855: /* $a%n */ ! 2856: /* $d%n */ ! 2857: /* &%c */ ! 2858: /* &_%c */ ! 2859: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2860: if (--b->count > 0) { ! 2861: if (c=b->kids[0]) ++c->count; ! 2862: if (c=b->kids[3]) ++c->count; ! 2863: } ! 2864: a->syms[1] = b->syms[0]; ! 2865: a->kids[4] = b->kids[3]; ! 2866: a->x.ints[1] = b->x.ints[0]; ! 2867: a->kids[1] = b->kids[0]; ! 2868: goto L615; /* %f.%t %x,%z */ ! 2869: } ! 2870: if ( ! 2871: b->count == 1 ! 2872: ) { ! 2873: if (--b->count > 0) { ! 2874: if (c=b->kids[0]) ++c->count; ! 2875: if (c=b->kids[3]) ++c->count; ! 2876: } ! 2877: a->syms[1] = b->syms[0]; ! 2878: a->kids[4] = b->kids[3]; ! 2879: a->x.ints[1] = b->x.ints[0]; ! 2880: a->kids[1] = b->kids[0]; ! 2881: goto L615; /* %f.%t %x,%z */ ! 2882: } ! 2883: /* $a%n */ ! 2884: /* $d%n */ ! 2885: /* &%c */ ! 2886: /* &_%c */ ! 2887: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 2888: if (--b->count > 0) { ! 2889: if (c=b->kids[0]) ++c->count; ! 2890: if (c=b->kids[3]) ++c->count; ! 2891: } ! 2892: a->syms[1] = b->syms[0]; ! 2893: a->kids[4] = b->kids[3]; ! 2894: a->x.ints[1] = b->x.ints[0]; ! 2895: a->kids[1] = b->kids[0]; ! 2896: goto L615; /* %f.%t %x,%z */ ! 2897: } ! 2898: if ( ! 2899: b->count == 1 ! 2900: ) { ! 2901: if (--b->count > 0) { ! 2902: if (c=b->kids[0]) ++c->count; ! 2903: if (c=b->kids[3]) ++c->count; ! 2904: } ! 2905: a->syms[1] = b->syms[0]; ! 2906: a->kids[4] = b->kids[3]; ! 2907: a->x.ints[1] = b->x.ints[0]; ! 2908: a->kids[1] = b->kids[0]; ! 2909: goto L615; /* %f.%t %x,%z */ ! 2910: } ! 2911: /* $a%n */ ! 2912: /* &_%c */ ! 2913: if ("\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"[b->x.ints[0]]) { ! 2914: if (--b->count > 0) { ! 2915: if (c=b->kids[0]) ++c->count; ! 2916: if (c=b->kids[3]) ++c->count; ! 2917: } ! 2918: a->syms[1] = b->syms[0]; ! 2919: a->kids[4] = b->kids[3]; ! 2920: a->x.ints[1] = b->x.ints[0]; ! 2921: a->kids[1] = b->kids[0]; ! 2922: goto L615; /* %f.%t %x,%z */ ! 2923: } ! 2924: } ! 2925: } ! 2926: } ! 2927: break; ! 2928: case 3: /* asl */ ! 2929: case 4: /* asr */ ! 2930: case 17: /* lsl */ ! 2931: case 18: /* lsr */ ! 2932: b = a->kids[1]; ! 2933: if ( ! 2934: a->x.ints[1] == 3 /* $d%n */ ! 2935: && a->x.ints[2] == 4 /* $d%c */ ! 2936: && b->op == 622 /* mov.%t %y,%z */ ! 2937: && b->x.ints[0] == 15 /* &%c */ ! 2938: ) { ! 2939: if ( ! 2940: b->syms[0]->x.name == sym[7].x.name /* 4 */ ! 2941: ) { ! 2942: if (--b->count > 0) { ! 2943: if (c=b->kids[0]) ++c->count; ! 2944: if (c=b->kids[3]) ++c->count; ! 2945: } ! 2946: a->syms[1] = b->syms[0]; ! 2947: a->kids[4] = b->kids[3]; ! 2948: a->x.ints[1] = b->x.ints[0]; ! 2949: a->kids[1] = b->kids[0]; ! 2950: goto L615; /* %f.%t %x,%z */ ! 2951: } ! 2952: if ( ! 2953: b->syms[0]->x.name == sym[11].x.name /* 8 */ ! 2954: ) { ! 2955: if (--b->count > 0) { ! 2956: if (c=b->kids[0]) ++c->count; ! 2957: if (c=b->kids[3]) ++c->count; ! 2958: } ! 2959: a->syms[1] = b->syms[0]; ! 2960: a->kids[4] = b->kids[3]; ! 2961: a->x.ints[1] = b->x.ints[0]; ! 2962: a->kids[1] = b->kids[0]; ! 2963: goto L615; /* %f.%t %x,%z */ ! 2964: } ! 2965: if ( ! 2966: b->syms[0]->x.name == sym[6].x.name /* 3 */ ! 2967: ) { ! 2968: if (--b->count > 0) { ! 2969: if (c=b->kids[0]) ++c->count; ! 2970: if (c=b->kids[3]) ++c->count; ! 2971: } ! 2972: a->syms[1] = b->syms[0]; ! 2973: a->kids[4] = b->kids[3]; ! 2974: a->x.ints[1] = b->x.ints[0]; ! 2975: a->kids[1] = b->kids[0]; ! 2976: goto L615; /* %f.%t %x,%z */ ! 2977: } ! 2978: if ( ! 2979: b->syms[0]->x.name == sym[10].x.name /* 7 */ ! 2980: ) { ! 2981: if (--b->count > 0) { ! 2982: if (c=b->kids[0]) ++c->count; ! 2983: if (c=b->kids[3]) ++c->count; ! 2984: } ! 2985: a->syms[1] = b->syms[0]; ! 2986: a->kids[4] = b->kids[3]; ! 2987: a->x.ints[1] = b->x.ints[0]; ! 2988: a->kids[1] = b->kids[0]; ! 2989: goto L615; /* %f.%t %x,%z */ ! 2990: } ! 2991: if ( ! 2992: b->syms[0]->x.name == sym[5].x.name /* 2 */ ! 2993: ) { ! 2994: if (--b->count > 0) { ! 2995: if (c=b->kids[0]) ++c->count; ! 2996: if (c=b->kids[3]) ++c->count; ! 2997: } ! 2998: a->syms[1] = b->syms[0]; ! 2999: a->kids[4] = b->kids[3]; ! 3000: a->x.ints[1] = b->x.ints[0]; ! 3001: a->kids[1] = b->kids[0]; ! 3002: goto L615; /* %f.%t %x,%z */ ! 3003: } ! 3004: if ( ! 3005: b->syms[0]->x.name == sym[9].x.name /* 6 */ ! 3006: ) { ! 3007: if (--b->count > 0) { ! 3008: if (c=b->kids[0]) ++c->count; ! 3009: if (c=b->kids[3]) ++c->count; ! 3010: } ! 3011: a->syms[1] = b->syms[0]; ! 3012: a->kids[4] = b->kids[3]; ! 3013: a->x.ints[1] = b->x.ints[0]; ! 3014: a->kids[1] = b->kids[0]; ! 3015: goto L615; /* %f.%t %x,%z */ ! 3016: } ! 3017: if ( ! 3018: b->syms[0]->x.name == sym[4].x.name /* 1 */ ! 3019: ) { ! 3020: if (--b->count > 0) { ! 3021: if (c=b->kids[0]) ++c->count; ! 3022: if (c=b->kids[3]) ++c->count; ! 3023: } ! 3024: a->syms[1] = b->syms[0]; ! 3025: a->kids[4] = b->kids[3]; ! 3026: a->x.ints[1] = b->x.ints[0]; ! 3027: a->kids[1] = b->kids[0]; ! 3028: goto L615; /* %f.%t %x,%z */ ! 3029: } ! 3030: if ( ! 3031: b->syms[0]->x.name == sym[8].x.name /* 5 */ ! 3032: ) { ! 3033: if (--b->count > 0) { ! 3034: if (c=b->kids[0]) ++c->count; ! 3035: if (c=b->kids[3]) ++c->count; ! 3036: } ! 3037: a->syms[1] = b->syms[0]; ! 3038: a->kids[4] = b->kids[3]; ! 3039: a->x.ints[1] = b->x.ints[0]; ! 3040: a->kids[1] = b->kids[0]; ! 3041: goto L615; /* %f.%t %x,%z */ ! 3042: } ! 3043: } ! 3044: break; ! 3045: case 25: /* or */ ! 3046: b = a->kids[1]; ! 3047: if ( ! 3048: a->x.ints[1] == 3 /* $d%n */ ! 3049: && a->x.ints[2] == 4 /* $d%c */ ! 3050: && b->op == 622 /* mov.%t %y,%z */ ! 3051: ) { ! 3052: /* $d%n */ ! 3053: /* $d%c */ ! 3054: /* _%c */ ! 3055: /* _%c($a%n) */ ! 3056: /* %c($a%n) */ ! 3057: /* %c($sp) */ ! 3058: /* %c($a6) */ ! 3059: /* ($a%n) */ ! 3060: /* &%c */ ! 3061: /* &_%c */ ! 3062: if ("\0\0\0\1\1\1\1\0\0\1\1\1\1\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3063: if ( ! 3064: a->x.ints[4] == b->x.ints[4] ! 3065: ) { ! 3066: /* $d%n */ ! 3067: /* &%c */ ! 3068: if ("\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"[b->x.ints[0]]) { ! 3069: if (--b->count > 0) { ! 3070: if (c=b->kids[0]) ++c->count; ! 3071: if (c=b->kids[3]) ++c->count; ! 3072: } ! 3073: a->syms[1] = b->syms[0]; ! 3074: a->kids[4] = b->kids[3]; ! 3075: a->x.ints[1] = b->x.ints[0]; ! 3076: a->kids[1] = b->kids[0]; ! 3077: goto L615; /* %f.%t %x,%z */ ! 3078: } ! 3079: if ( ! 3080: b->count == 1 ! 3081: ) { ! 3082: if (--b->count > 0) { ! 3083: if (c=b->kids[0]) ++c->count; ! 3084: if (c=b->kids[3]) ++c->count; ! 3085: } ! 3086: a->syms[1] = b->syms[0]; ! 3087: a->kids[4] = b->kids[3]; ! 3088: a->x.ints[1] = b->x.ints[0]; ! 3089: a->kids[1] = b->kids[0]; ! 3090: goto L615; /* %f.%t %x,%z */ ! 3091: } ! 3092: /* $a%n */ ! 3093: /* $d%n */ ! 3094: /* &%c */ ! 3095: /* &_%c */ ! 3096: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3097: if (--b->count > 0) { ! 3098: if (c=b->kids[0]) ++c->count; ! 3099: if (c=b->kids[3]) ++c->count; ! 3100: } ! 3101: a->syms[1] = b->syms[0]; ! 3102: a->kids[4] = b->kids[3]; ! 3103: a->x.ints[1] = b->x.ints[0]; ! 3104: a->kids[1] = b->kids[0]; ! 3105: goto L615; /* %f.%t %x,%z */ ! 3106: } ! 3107: if ( ! 3108: b->count == 1 ! 3109: ) { ! 3110: if (--b->count > 0) { ! 3111: if (c=b->kids[0]) ++c->count; ! 3112: if (c=b->kids[3]) ++c->count; ! 3113: } ! 3114: a->syms[1] = b->syms[0]; ! 3115: a->kids[4] = b->kids[3]; ! 3116: a->x.ints[1] = b->x.ints[0]; ! 3117: a->kids[1] = b->kids[0]; ! 3118: goto L615; /* %f.%t %x,%z */ ! 3119: } ! 3120: /* $a%n */ ! 3121: /* $d%n */ ! 3122: /* &%c */ ! 3123: /* &_%c */ ! 3124: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3125: if (--b->count > 0) { ! 3126: if (c=b->kids[0]) ++c->count; ! 3127: if (c=b->kids[3]) ++c->count; ! 3128: } ! 3129: a->syms[1] = b->syms[0]; ! 3130: a->kids[4] = b->kids[3]; ! 3131: a->x.ints[1] = b->x.ints[0]; ! 3132: a->kids[1] = b->kids[0]; ! 3133: goto L615; /* %f.%t %x,%z */ ! 3134: } ! 3135: if ( ! 3136: b->count == 1 ! 3137: ) { ! 3138: if (--b->count > 0) { ! 3139: if (c=b->kids[0]) ++c->count; ! 3140: if (c=b->kids[3]) ++c->count; ! 3141: } ! 3142: a->syms[1] = b->syms[0]; ! 3143: a->kids[4] = b->kids[3]; ! 3144: a->x.ints[1] = b->x.ints[0]; ! 3145: a->kids[1] = b->kids[0]; ! 3146: goto L615; /* %f.%t %x,%z */ ! 3147: } ! 3148: /* $a%n */ ! 3149: /* $d%n */ ! 3150: /* &%c */ ! 3151: /* &_%c */ ! 3152: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3153: if (--b->count > 0) { ! 3154: if (c=b->kids[0]) ++c->count; ! 3155: if (c=b->kids[3]) ++c->count; ! 3156: } ! 3157: a->syms[1] = b->syms[0]; ! 3158: a->kids[4] = b->kids[3]; ! 3159: a->x.ints[1] = b->x.ints[0]; ! 3160: a->kids[1] = b->kids[0]; ! 3161: goto L615; /* %f.%t %x,%z */ ! 3162: } ! 3163: if ( ! 3164: b->count == 1 ! 3165: ) { ! 3166: if (--b->count > 0) { ! 3167: if (c=b->kids[0]) ++c->count; ! 3168: if (c=b->kids[3]) ++c->count; ! 3169: } ! 3170: a->syms[1] = b->syms[0]; ! 3171: a->kids[4] = b->kids[3]; ! 3172: a->x.ints[1] = b->x.ints[0]; ! 3173: a->kids[1] = b->kids[0]; ! 3174: goto L615; /* %f.%t %x,%z */ ! 3175: } ! 3176: /* $a%n */ ! 3177: /* $d%n */ ! 3178: /* &%c */ ! 3179: /* &_%c */ ! 3180: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3181: if (--b->count > 0) { ! 3182: if (c=b->kids[0]) ++c->count; ! 3183: if (c=b->kids[3]) ++c->count; ! 3184: } ! 3185: a->syms[1] = b->syms[0]; ! 3186: a->kids[4] = b->kids[3]; ! 3187: a->x.ints[1] = b->x.ints[0]; ! 3188: a->kids[1] = b->kids[0]; ! 3189: goto L615; /* %f.%t %x,%z */ ! 3190: } ! 3191: if ( ! 3192: b->count == 1 ! 3193: ) { ! 3194: if (--b->count > 0) { ! 3195: if (c=b->kids[0]) ++c->count; ! 3196: if (c=b->kids[3]) ++c->count; ! 3197: } ! 3198: a->syms[1] = b->syms[0]; ! 3199: a->kids[4] = b->kids[3]; ! 3200: a->x.ints[1] = b->x.ints[0]; ! 3201: a->kids[1] = b->kids[0]; ! 3202: goto L615; /* %f.%t %x,%z */ ! 3203: } ! 3204: /* $a%n */ ! 3205: /* $d%n */ ! 3206: /* &%c */ ! 3207: /* &_%c */ ! 3208: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3209: if (--b->count > 0) { ! 3210: if (c=b->kids[0]) ++c->count; ! 3211: if (c=b->kids[3]) ++c->count; ! 3212: } ! 3213: a->syms[1] = b->syms[0]; ! 3214: a->kids[4] = b->kids[3]; ! 3215: a->x.ints[1] = b->x.ints[0]; ! 3216: a->kids[1] = b->kids[0]; ! 3217: goto L615; /* %f.%t %x,%z */ ! 3218: } ! 3219: if ( ! 3220: b->count == 1 ! 3221: ) { ! 3222: if (--b->count > 0) { ! 3223: if (c=b->kids[0]) ++c->count; ! 3224: if (c=b->kids[3]) ++c->count; ! 3225: } ! 3226: a->syms[1] = b->syms[0]; ! 3227: a->kids[4] = b->kids[3]; ! 3228: a->x.ints[1] = b->x.ints[0]; ! 3229: a->kids[1] = b->kids[0]; ! 3230: goto L615; /* %f.%t %x,%z */ ! 3231: } ! 3232: /* $a%n */ ! 3233: /* $d%n */ ! 3234: /* &%c */ ! 3235: /* &_%c */ ! 3236: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3237: if (--b->count > 0) { ! 3238: if (c=b->kids[0]) ++c->count; ! 3239: if (c=b->kids[3]) ++c->count; ! 3240: } ! 3241: a->syms[1] = b->syms[0]; ! 3242: a->kids[4] = b->kids[3]; ! 3243: a->x.ints[1] = b->x.ints[0]; ! 3244: a->kids[1] = b->kids[0]; ! 3245: goto L615; /* %f.%t %x,%z */ ! 3246: } ! 3247: if ( ! 3248: b->count == 1 ! 3249: ) { ! 3250: if (--b->count > 0) { ! 3251: if (c=b->kids[0]) ++c->count; ! 3252: if (c=b->kids[3]) ++c->count; ! 3253: } ! 3254: a->syms[1] = b->syms[0]; ! 3255: a->kids[4] = b->kids[3]; ! 3256: a->x.ints[1] = b->x.ints[0]; ! 3257: a->kids[1] = b->kids[0]; ! 3258: goto L615; /* %f.%t %x,%z */ ! 3259: } ! 3260: /* $a%n */ ! 3261: /* $d%n */ ! 3262: /* &%c */ ! 3263: /* &_%c */ ! 3264: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3265: if (--b->count > 0) { ! 3266: if (c=b->kids[0]) ++c->count; ! 3267: if (c=b->kids[3]) ++c->count; ! 3268: } ! 3269: a->syms[1] = b->syms[0]; ! 3270: a->kids[4] = b->kids[3]; ! 3271: a->x.ints[1] = b->x.ints[0]; ! 3272: a->kids[1] = b->kids[0]; ! 3273: goto L615; /* %f.%t %x,%z */ ! 3274: } ! 3275: if ( ! 3276: b->count == 1 ! 3277: ) { ! 3278: if (--b->count > 0) { ! 3279: if (c=b->kids[0]) ++c->count; ! 3280: if (c=b->kids[3]) ++c->count; ! 3281: } ! 3282: a->syms[1] = b->syms[0]; ! 3283: a->kids[4] = b->kids[3]; ! 3284: a->x.ints[1] = b->x.ints[0]; ! 3285: a->kids[1] = b->kids[0]; ! 3286: goto L615; /* %f.%t %x,%z */ ! 3287: } ! 3288: /* $a%n */ ! 3289: /* $d%n */ ! 3290: /* &%c */ ! 3291: /* &_%c */ ! 3292: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3293: if (--b->count > 0) { ! 3294: if (c=b->kids[0]) ++c->count; ! 3295: if (c=b->kids[3]) ++c->count; ! 3296: } ! 3297: a->syms[1] = b->syms[0]; ! 3298: a->kids[4] = b->kids[3]; ! 3299: a->x.ints[1] = b->x.ints[0]; ! 3300: a->kids[1] = b->kids[0]; ! 3301: goto L615; /* %f.%t %x,%z */ ! 3302: } ! 3303: if ( ! 3304: b->count == 1 ! 3305: ) { ! 3306: if (--b->count > 0) { ! 3307: if (c=b->kids[0]) ++c->count; ! 3308: if (c=b->kids[3]) ++c->count; ! 3309: } ! 3310: a->syms[1] = b->syms[0]; ! 3311: a->kids[4] = b->kids[3]; ! 3312: a->x.ints[1] = b->x.ints[0]; ! 3313: a->kids[1] = b->kids[0]; ! 3314: goto L615; /* %f.%t %x,%z */ ! 3315: } ! 3316: /* $a%n */ ! 3317: /* $d%n */ ! 3318: /* &%c */ ! 3319: /* &_%c */ ! 3320: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3321: if (--b->count > 0) { ! 3322: if (c=b->kids[0]) ++c->count; ! 3323: if (c=b->kids[3]) ++c->count; ! 3324: } ! 3325: a->syms[1] = b->syms[0]; ! 3326: a->kids[4] = b->kids[3]; ! 3327: a->x.ints[1] = b->x.ints[0]; ! 3328: a->kids[1] = b->kids[0]; ! 3329: goto L615; /* %f.%t %x,%z */ ! 3330: } ! 3331: if ( ! 3332: b->count == 1 ! 3333: ) { ! 3334: if (--b->count > 0) { ! 3335: if (c=b->kids[0]) ++c->count; ! 3336: if (c=b->kids[3]) ++c->count; ! 3337: } ! 3338: a->syms[1] = b->syms[0]; ! 3339: a->kids[4] = b->kids[3]; ! 3340: a->x.ints[1] = b->x.ints[0]; ! 3341: a->kids[1] = b->kids[0]; ! 3342: goto L615; /* %f.%t %x,%z */ ! 3343: } ! 3344: /* $a%n */ ! 3345: /* &_%c */ ! 3346: if ("\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"[b->x.ints[0]]) { ! 3347: if (--b->count > 0) { ! 3348: if (c=b->kids[0]) ++c->count; ! 3349: if (c=b->kids[3]) ++c->count; ! 3350: } ! 3351: a->syms[1] = b->syms[0]; ! 3352: a->kids[4] = b->kids[3]; ! 3353: a->x.ints[1] = b->x.ints[0]; ! 3354: a->kids[1] = b->kids[0]; ! 3355: goto L615; /* %f.%t %x,%z */ ! 3356: } ! 3357: } ! 3358: } ! 3359: } ! 3360: break; ! 3361: case 26: /* sub */ ! 3362: if ( ! 3363: a->x.ints[4] == 3 /* l */ ! 3364: && a->x.ints[1] == 3 /* $d%n */ ! 3365: && a->x.ints[2] == 2 /* $a%c */ ! 3366: && a->kids[1]->x.ints[2] == 2 /* $a%c */ ! 3367: ) { ! 3368: a->x.ints[1] = 1; /* $a%n */ ! 3369: a->x.ints[2] = 4; /* $d%c */ ! 3370: setreg(a, rmap[I]); ! 3371: goto L615; /* %f.%t %x,%z */ ! 3372: } ! 3373: /* $a%n */ ! 3374: /* $d%n */ ! 3375: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[1]]) { ! 3376: /* $a%c */ ! 3377: /* $d%c */ ! 3378: if ("\0\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[2]]) { ! 3379: b = a->kids[1]; ! 3380: if ( ! 3381: b->op == 622 /* mov.%t %y,%z */ ! 3382: && a->x.ints[4] == b->x.ints[4] ! 3383: ) { ! 3384: /* $d%n */ ! 3385: /* &%c */ ! 3386: if ("\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"[b->x.ints[0]]) { ! 3387: if (--b->count > 0) { ! 3388: if (c=b->kids[0]) ++c->count; ! 3389: if (c=b->kids[3]) ++c->count; ! 3390: } ! 3391: a->syms[1] = b->syms[0]; ! 3392: a->kids[4] = b->kids[3]; ! 3393: a->x.ints[1] = b->x.ints[0]; ! 3394: a->kids[1] = b->kids[0]; ! 3395: goto L615; /* %f.%t %x,%z */ ! 3396: } ! 3397: if ( ! 3398: b->count == 1 ! 3399: ) { ! 3400: if (--b->count > 0) { ! 3401: if (c=b->kids[0]) ++c->count; ! 3402: if (c=b->kids[3]) ++c->count; ! 3403: } ! 3404: a->syms[1] = b->syms[0]; ! 3405: a->kids[4] = b->kids[3]; ! 3406: a->x.ints[1] = b->x.ints[0]; ! 3407: a->kids[1] = b->kids[0]; ! 3408: goto L615; /* %f.%t %x,%z */ ! 3409: } ! 3410: /* $a%n */ ! 3411: /* $d%n */ ! 3412: /* &%c */ ! 3413: /* &_%c */ ! 3414: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3415: if (--b->count > 0) { ! 3416: if (c=b->kids[0]) ++c->count; ! 3417: if (c=b->kids[3]) ++c->count; ! 3418: } ! 3419: a->syms[1] = b->syms[0]; ! 3420: a->kids[4] = b->kids[3]; ! 3421: a->x.ints[1] = b->x.ints[0]; ! 3422: a->kids[1] = b->kids[0]; ! 3423: goto L615; /* %f.%t %x,%z */ ! 3424: } ! 3425: if ( ! 3426: b->count == 1 ! 3427: ) { ! 3428: if (--b->count > 0) { ! 3429: if (c=b->kids[0]) ++c->count; ! 3430: if (c=b->kids[3]) ++c->count; ! 3431: } ! 3432: a->syms[1] = b->syms[0]; ! 3433: a->kids[4] = b->kids[3]; ! 3434: a->x.ints[1] = b->x.ints[0]; ! 3435: a->kids[1] = b->kids[0]; ! 3436: goto L615; /* %f.%t %x,%z */ ! 3437: } ! 3438: /* $a%n */ ! 3439: /* $d%n */ ! 3440: /* &%c */ ! 3441: /* &_%c */ ! 3442: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3443: if (--b->count > 0) { ! 3444: if (c=b->kids[0]) ++c->count; ! 3445: if (c=b->kids[3]) ++c->count; ! 3446: } ! 3447: a->syms[1] = b->syms[0]; ! 3448: a->kids[4] = b->kids[3]; ! 3449: a->x.ints[1] = b->x.ints[0]; ! 3450: a->kids[1] = b->kids[0]; ! 3451: goto L615; /* %f.%t %x,%z */ ! 3452: } ! 3453: if ( ! 3454: b->count == 1 ! 3455: ) { ! 3456: if (--b->count > 0) { ! 3457: if (c=b->kids[0]) ++c->count; ! 3458: if (c=b->kids[3]) ++c->count; ! 3459: } ! 3460: a->syms[1] = b->syms[0]; ! 3461: a->kids[4] = b->kids[3]; ! 3462: a->x.ints[1] = b->x.ints[0]; ! 3463: a->kids[1] = b->kids[0]; ! 3464: goto L615; /* %f.%t %x,%z */ ! 3465: } ! 3466: /* $a%n */ ! 3467: /* $d%n */ ! 3468: /* &%c */ ! 3469: /* &_%c */ ! 3470: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3471: if (--b->count > 0) { ! 3472: if (c=b->kids[0]) ++c->count; ! 3473: if (c=b->kids[3]) ++c->count; ! 3474: } ! 3475: a->syms[1] = b->syms[0]; ! 3476: a->kids[4] = b->kids[3]; ! 3477: a->x.ints[1] = b->x.ints[0]; ! 3478: a->kids[1] = b->kids[0]; ! 3479: goto L615; /* %f.%t %x,%z */ ! 3480: } ! 3481: if ( ! 3482: b->count == 1 ! 3483: ) { ! 3484: if (--b->count > 0) { ! 3485: if (c=b->kids[0]) ++c->count; ! 3486: if (c=b->kids[3]) ++c->count; ! 3487: } ! 3488: a->syms[1] = b->syms[0]; ! 3489: a->kids[4] = b->kids[3]; ! 3490: a->x.ints[1] = b->x.ints[0]; ! 3491: a->kids[1] = b->kids[0]; ! 3492: goto L615; /* %f.%t %x,%z */ ! 3493: } ! 3494: /* $a%n */ ! 3495: /* &_%c */ ! 3496: if ("\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"[b->x.ints[0]]) { ! 3497: if (--b->count > 0) { ! 3498: if (c=b->kids[0]) ++c->count; ! 3499: if (c=b->kids[3]) ++c->count; ! 3500: } ! 3501: a->syms[1] = b->syms[0]; ! 3502: a->kids[4] = b->kids[3]; ! 3503: a->x.ints[1] = b->x.ints[0]; ! 3504: a->kids[1] = b->kids[0]; ! 3505: goto L615; /* %f.%t %x,%z */ ! 3506: } ! 3507: } ! 3508: } ! 3509: } ! 3510: break; ! 3511: } ! 3512: a->op = 615; ! 3513: break; ! 3514: case 616: L616: /* %f.%t %x,%z |mod */ ! 3515: dumptree(a, 616); ! 3516: a->op = 616; ! 3517: break; ! 3518: case 617: L617: /* %f.%t %z */ ! 3519: dumptree(a, 617); ! 3520: a->op = 617; ! 3521: break; ! 3522: case 618: L618: /* clr.%t %z */ ! 3523: dumptree(a, 618); ! 3524: a->op = 618; ! 3525: break; ! 3526: case 619: L619: /* cmp.%t %y,%x; b%f %z */ ! 3527: dumptree(a, 619); ! 3528: switch (a->x.ints[0]) { ! 3529: case 1: /* $a%n */ ! 3530: /* $a%n */ ! 3531: /* $d%n */ ! 3532: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[1]]) { ! 3533: b = a->kids[1]; ! 3534: if ( ! 3535: b->op == 622 /* mov.%t %y,%z */ ! 3536: && a->x.ints[4] == b->x.ints[4] ! 3537: ) { ! 3538: /* $d%n */ ! 3539: /* &%c */ ! 3540: if ("\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"[b->x.ints[0]]) { ! 3541: if (--b->count > 0) { ! 3542: if (c=b->kids[0]) ++c->count; ! 3543: if (c=b->kids[3]) ++c->count; ! 3544: } ! 3545: a->syms[1] = b->syms[0]; ! 3546: a->kids[4] = b->kids[3]; ! 3547: a->x.ints[1] = b->x.ints[0]; ! 3548: a->kids[1] = b->kids[0]; ! 3549: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3550: } ! 3551: if ( ! 3552: b->count == 1 ! 3553: ) { ! 3554: if (--b->count > 0) { ! 3555: if (c=b->kids[0]) ++c->count; ! 3556: if (c=b->kids[3]) ++c->count; ! 3557: } ! 3558: a->syms[1] = b->syms[0]; ! 3559: a->kids[4] = b->kids[3]; ! 3560: a->x.ints[1] = b->x.ints[0]; ! 3561: a->kids[1] = b->kids[0]; ! 3562: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3563: } ! 3564: /* $a%n */ ! 3565: /* $d%n */ ! 3566: /* &%c */ ! 3567: /* &_%c */ ! 3568: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3569: if (--b->count > 0) { ! 3570: if (c=b->kids[0]) ++c->count; ! 3571: if (c=b->kids[3]) ++c->count; ! 3572: } ! 3573: a->syms[1] = b->syms[0]; ! 3574: a->kids[4] = b->kids[3]; ! 3575: a->x.ints[1] = b->x.ints[0]; ! 3576: a->kids[1] = b->kids[0]; ! 3577: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3578: } ! 3579: if ( ! 3580: b->count == 1 ! 3581: ) { ! 3582: if (--b->count > 0) { ! 3583: if (c=b->kids[0]) ++c->count; ! 3584: if (c=b->kids[3]) ++c->count; ! 3585: } ! 3586: a->syms[1] = b->syms[0]; ! 3587: a->kids[4] = b->kids[3]; ! 3588: a->x.ints[1] = b->x.ints[0]; ! 3589: a->kids[1] = b->kids[0]; ! 3590: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3591: } ! 3592: /* $a%n */ ! 3593: /* &_%c */ ! 3594: if ("\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"[b->x.ints[0]]) { ! 3595: if (--b->count > 0) { ! 3596: if (c=b->kids[0]) ++c->count; ! 3597: if (c=b->kids[3]) ++c->count; ! 3598: } ! 3599: a->syms[1] = b->syms[0]; ! 3600: a->kids[4] = b->kids[3]; ! 3601: a->x.ints[1] = b->x.ints[0]; ! 3602: a->kids[1] = b->kids[0]; ! 3603: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3604: } ! 3605: } ! 3606: } ! 3607: b = a->kids[0]; ! 3608: if ( ! 3609: a->x.ints[1] == 15 /* &%c */ ! 3610: && b->op == 622 /* mov.%t %y,%z */ ! 3611: ) { ! 3612: /* $a%n */ ! 3613: /* $a%c */ ! 3614: /* $d%n */ ! 3615: /* $d%c */ ! 3616: /* _%c */ ! 3617: /* _%c($a%n) */ ! 3618: /* %c($a%n) */ ! 3619: /* %c($sp) */ ! 3620: /* %c($a6) */ ! 3621: /* ($a%n) */ ! 3622: if ("\0\1\1\1\1\1\1\0\0\1\1\1\1\0\0\0\0\0\0\0"[b->x.ints[0]]) { ! 3623: if ( ! 3624: a->x.ints[4] == b->x.ints[4] ! 3625: && b->x.ints[0] == 3 /* $d%n */ ! 3626: ) { ! 3627: if (--b->count > 0) { ! 3628: if (c=b->kids[0]) ++c->count; ! 3629: if (c=b->kids[3]) ++c->count; ! 3630: } ! 3631: a->syms[0] = b->syms[0]; ! 3632: a->kids[3] = b->kids[3]; ! 3633: a->x.ints[0] = b->x.ints[0]; ! 3634: a->kids[0] = b->kids[0]; ! 3635: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3636: } ! 3637: } ! 3638: } ! 3639: b = a->kids[0]; ! 3640: if ( ! 3641: a->x.ints[1] == 15 /* &%c */ ! 3642: && b->op == 622 /* mov.%t %y,%z */ ! 3643: ) { ! 3644: /* $a%n */ ! 3645: /* $a%c */ ! 3646: /* $d%n */ ! 3647: /* $d%c */ ! 3648: /* _%c */ ! 3649: /* _%c($a%n) */ ! 3650: /* %c($a%n) */ ! 3651: /* %c($sp) */ ! 3652: /* %c($a6) */ ! 3653: /* ($a%n) */ ! 3654: if ("\0\1\1\1\1\1\1\0\0\1\1\1\1\0\0\0\0\0\0\0"[b->x.ints[0]]) { ! 3655: if ( ! 3656: a->x.ints[4] == b->x.ints[4] ! 3657: && b->count == 1 ! 3658: ) { ! 3659: if (--b->count > 0) { ! 3660: if (c=b->kids[0]) ++c->count; ! 3661: if (c=b->kids[3]) ++c->count; ! 3662: } ! 3663: a->syms[0] = b->syms[0]; ! 3664: a->kids[3] = b->kids[3]; ! 3665: a->x.ints[0] = b->x.ints[0]; ! 3666: a->kids[0] = b->kids[0]; ! 3667: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3668: } ! 3669: } ! 3670: } ! 3671: break; ! 3672: case 2: /* $a%c */ ! 3673: /* $a%n */ ! 3674: /* $d%n */ ! 3675: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[1]]) { ! 3676: b = a->kids[1]; ! 3677: if ( ! 3678: b->op == 622 /* mov.%t %y,%z */ ! 3679: && a->x.ints[4] == b->x.ints[4] ! 3680: ) { ! 3681: /* $d%n */ ! 3682: /* &%c */ ! 3683: if ("\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"[b->x.ints[0]]) { ! 3684: if (--b->count > 0) { ! 3685: if (c=b->kids[0]) ++c->count; ! 3686: if (c=b->kids[3]) ++c->count; ! 3687: } ! 3688: a->syms[1] = b->syms[0]; ! 3689: a->kids[4] = b->kids[3]; ! 3690: a->x.ints[1] = b->x.ints[0]; ! 3691: a->kids[1] = b->kids[0]; ! 3692: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3693: } ! 3694: if ( ! 3695: b->count == 1 ! 3696: ) { ! 3697: if (--b->count > 0) { ! 3698: if (c=b->kids[0]) ++c->count; ! 3699: if (c=b->kids[3]) ++c->count; ! 3700: } ! 3701: a->syms[1] = b->syms[0]; ! 3702: a->kids[4] = b->kids[3]; ! 3703: a->x.ints[1] = b->x.ints[0]; ! 3704: a->kids[1] = b->kids[0]; ! 3705: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3706: } ! 3707: /* $a%n */ ! 3708: /* $d%n */ ! 3709: /* &%c */ ! 3710: /* &_%c */ ! 3711: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3712: if (--b->count > 0) { ! 3713: if (c=b->kids[0]) ++c->count; ! 3714: if (c=b->kids[3]) ++c->count; ! 3715: } ! 3716: a->syms[1] = b->syms[0]; ! 3717: a->kids[4] = b->kids[3]; ! 3718: a->x.ints[1] = b->x.ints[0]; ! 3719: a->kids[1] = b->kids[0]; ! 3720: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3721: } ! 3722: if ( ! 3723: b->count == 1 ! 3724: ) { ! 3725: if (--b->count > 0) { ! 3726: if (c=b->kids[0]) ++c->count; ! 3727: if (c=b->kids[3]) ++c->count; ! 3728: } ! 3729: a->syms[1] = b->syms[0]; ! 3730: a->kids[4] = b->kids[3]; ! 3731: a->x.ints[1] = b->x.ints[0]; ! 3732: a->kids[1] = b->kids[0]; ! 3733: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3734: } ! 3735: /* $a%n */ ! 3736: /* &_%c */ ! 3737: if ("\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"[b->x.ints[0]]) { ! 3738: if (--b->count > 0) { ! 3739: if (c=b->kids[0]) ++c->count; ! 3740: if (c=b->kids[3]) ++c->count; ! 3741: } ! 3742: a->syms[1] = b->syms[0]; ! 3743: a->kids[4] = b->kids[3]; ! 3744: a->x.ints[1] = b->x.ints[0]; ! 3745: a->kids[1] = b->kids[0]; ! 3746: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3747: } ! 3748: } ! 3749: } ! 3750: break; ! 3751: case 3: /* $d%n */ ! 3752: switch (a->x.ints[1]) { ! 3753: case 1: /* $a%n */ ! 3754: case 3: /* $d%n */ ! 3755: b = a->kids[1]; ! 3756: if ( ! 3757: b->op == 622 /* mov.%t %y,%z */ ! 3758: && a->x.ints[4] == b->x.ints[4] ! 3759: ) { ! 3760: /* $d%n */ ! 3761: /* &%c */ ! 3762: if ("\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"[b->x.ints[0]]) { ! 3763: if (--b->count > 0) { ! 3764: if (c=b->kids[0]) ++c->count; ! 3765: if (c=b->kids[3]) ++c->count; ! 3766: } ! 3767: a->syms[1] = b->syms[0]; ! 3768: a->kids[4] = b->kids[3]; ! 3769: a->x.ints[1] = b->x.ints[0]; ! 3770: a->kids[1] = b->kids[0]; ! 3771: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3772: } ! 3773: if ( ! 3774: b->count == 1 ! 3775: ) { ! 3776: if (--b->count > 0) { ! 3777: if (c=b->kids[0]) ++c->count; ! 3778: if (c=b->kids[3]) ++c->count; ! 3779: } ! 3780: a->syms[1] = b->syms[0]; ! 3781: a->kids[4] = b->kids[3]; ! 3782: a->x.ints[1] = b->x.ints[0]; ! 3783: a->kids[1] = b->kids[0]; ! 3784: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3785: } ! 3786: /* $a%n */ ! 3787: /* &_%c */ ! 3788: if ("\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"[b->x.ints[0]]) { ! 3789: if (--b->count > 0) { ! 3790: if (c=b->kids[0]) ++c->count; ! 3791: if (c=b->kids[3]) ++c->count; ! 3792: } ! 3793: a->syms[1] = b->syms[0]; ! 3794: a->kids[4] = b->kids[3]; ! 3795: a->x.ints[1] = b->x.ints[0]; ! 3796: a->kids[1] = b->kids[0]; ! 3797: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3798: } ! 3799: } ! 3800: break; ! 3801: case 15: /* &%c */ ! 3802: b = a->kids[0]; ! 3803: if ( ! 3804: b->op == 622 /* mov.%t %y,%z */ ! 3805: ) { ! 3806: /* $a%n */ ! 3807: /* $a%c */ ! 3808: /* $d%n */ ! 3809: /* $d%c */ ! 3810: /* _%c */ ! 3811: /* _%c($a%n) */ ! 3812: /* %c($a%n) */ ! 3813: /* %c($sp) */ ! 3814: /* %c($a6) */ ! 3815: /* ($a%n) */ ! 3816: if ("\0\1\1\1\1\1\1\0\0\1\1\1\1\0\0\0\0\0\0\0"[b->x.ints[0]]) { ! 3817: if ( ! 3818: a->x.ints[4] == b->x.ints[4] ! 3819: && b->x.ints[0] == 3 /* $d%n */ ! 3820: ) { ! 3821: if (--b->count > 0) { ! 3822: if (c=b->kids[0]) ++c->count; ! 3823: if (c=b->kids[3]) ++c->count; ! 3824: } ! 3825: a->syms[0] = b->syms[0]; ! 3826: a->kids[3] = b->kids[3]; ! 3827: a->x.ints[0] = b->x.ints[0]; ! 3828: a->kids[0] = b->kids[0]; ! 3829: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3830: } ! 3831: } ! 3832: } ! 3833: break; ! 3834: } ! 3835: b = a->kids[0]; ! 3836: if ( ! 3837: a->x.ints[1] == 15 /* &%c */ ! 3838: && b->op == 622 /* mov.%t %y,%z */ ! 3839: ) { ! 3840: /* $a%n */ ! 3841: /* $a%c */ ! 3842: /* $d%n */ ! 3843: /* $d%c */ ! 3844: /* _%c */ ! 3845: /* _%c($a%n) */ ! 3846: /* %c($a%n) */ ! 3847: /* %c($sp) */ ! 3848: /* %c($a6) */ ! 3849: /* ($a%n) */ ! 3850: if ("\0\1\1\1\1\1\1\0\0\1\1\1\1\0\0\0\0\0\0\0"[b->x.ints[0]]) { ! 3851: if ( ! 3852: a->x.ints[4] == b->x.ints[4] ! 3853: && b->count == 1 ! 3854: ) { ! 3855: if (--b->count > 0) { ! 3856: if (c=b->kids[0]) ++c->count; ! 3857: if (c=b->kids[3]) ++c->count; ! 3858: } ! 3859: a->syms[0] = b->syms[0]; ! 3860: a->kids[3] = b->kids[3]; ! 3861: a->x.ints[0] = b->x.ints[0]; ! 3862: a->kids[0] = b->kids[0]; ! 3863: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3864: } ! 3865: } ! 3866: } ! 3867: break; ! 3868: case 4: /* $d%c */ ! 3869: /* $a%n */ ! 3870: /* $d%n */ ! 3871: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"[a->x.ints[1]]) { ! 3872: b = a->kids[1]; ! 3873: if ( ! 3874: b->op == 622 /* mov.%t %y,%z */ ! 3875: && a->x.ints[4] == b->x.ints[4] ! 3876: ) { ! 3877: /* $d%n */ ! 3878: /* &%c */ ! 3879: if ("\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"[b->x.ints[0]]) { ! 3880: if (--b->count > 0) { ! 3881: if (c=b->kids[0]) ++c->count; ! 3882: if (c=b->kids[3]) ++c->count; ! 3883: } ! 3884: a->syms[1] = b->syms[0]; ! 3885: a->kids[4] = b->kids[3]; ! 3886: a->x.ints[1] = b->x.ints[0]; ! 3887: a->kids[1] = b->kids[0]; ! 3888: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3889: } ! 3890: if ( ! 3891: b->count == 1 ! 3892: ) { ! 3893: if (--b->count > 0) { ! 3894: if (c=b->kids[0]) ++c->count; ! 3895: if (c=b->kids[3]) ++c->count; ! 3896: } ! 3897: a->syms[1] = b->syms[0]; ! 3898: a->kids[4] = b->kids[3]; ! 3899: a->x.ints[1] = b->x.ints[0]; ! 3900: a->kids[1] = b->kids[0]; ! 3901: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3902: } ! 3903: /* $a%n */ ! 3904: /* $d%n */ ! 3905: /* &%c */ ! 3906: /* &_%c */ ! 3907: if ("\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\1\0\0"[b->x.ints[0]]) { ! 3908: if (--b->count > 0) { ! 3909: if (c=b->kids[0]) ++c->count; ! 3910: if (c=b->kids[3]) ++c->count; ! 3911: } ! 3912: a->syms[1] = b->syms[0]; ! 3913: a->kids[4] = b->kids[3]; ! 3914: a->x.ints[1] = b->x.ints[0]; ! 3915: a->kids[1] = b->kids[0]; ! 3916: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3917: } ! 3918: if ( ! 3919: b->count == 1 ! 3920: ) { ! 3921: if (--b->count > 0) { ! 3922: if (c=b->kids[0]) ++c->count; ! 3923: if (c=b->kids[3]) ++c->count; ! 3924: } ! 3925: a->syms[1] = b->syms[0]; ! 3926: a->kids[4] = b->kids[3]; ! 3927: a->x.ints[1] = b->x.ints[0]; ! 3928: a->kids[1] = b->kids[0]; ! 3929: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3930: } ! 3931: /* $a%n */ ! 3932: /* &_%c */ ! 3933: if ("\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"[b->x.ints[0]]) { ! 3934: if (--b->count > 0) { ! 3935: if (c=b->kids[0]) ++c->count; ! 3936: if (c=b->kids[3]) ++c->count; ! 3937: } ! 3938: a->syms[1] = b->syms[0]; ! 3939: a->kids[4] = b->kids[3]; ! 3940: a->x.ints[1] = b->x.ints[0]; ! 3941: a->kids[1] = b->kids[0]; ! 3942: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3943: } ! 3944: } ! 3945: } ! 3946: break; ! 3947: } ! 3948: if ( ! 3949: a->x.ints[4] == 3 /* l */ ! 3950: && a->x.ints[0] == 3 /* $d%n */ ! 3951: ) { ! 3952: switch (a->x.ints[1]) { ! 3953: case 3: /* $d%n */ ! 3954: b = a->kids[0]; ! 3955: switch (b->op) { ! 3956: case 617: /* %f.%t %z */ ! 3957: b = a->kids[1]; ! 3958: if ( ! 3959: a->kids[0]->x.ints[3] == 11 /* ext */ ! 3960: && a->kids[0]->x.ints[4] == 3 /* l */ ! 3961: && b->op == 617 /* %f.%t %z */ ! 3962: && b->x.ints[3] == 11 /* ext */ ! 3963: && b->x.ints[4] == 3 /* l */ ! 3964: ) { ! 3965: if (--a->kids[0]->count > 0) { ! 3966: if (c=a->kids[0]->kids[0]) ++c->count; ! 3967: if (c=a->kids[0]->kids[3]) ++c->count; ! 3968: } ! 3969: if (--b->count > 0) { ! 3970: if (c=b->kids[0]) ++c->count; ! 3971: if (c=b->kids[3]) ++c->count; ! 3972: } ! 3973: a->syms[0] = a->kids[0]->syms[0]; ! 3974: a->kids[3] = a->kids[0]->kids[3]; ! 3975: a->x.ints[0] = a->kids[0]->x.ints[0]; ! 3976: a->kids[0] = a->kids[0]->kids[0]; ! 3977: a->syms[1] = b->syms[0]; ! 3978: a->kids[4] = b->kids[3]; ! 3979: a->x.ints[1] = b->x.ints[0]; ! 3980: a->kids[1] = b->kids[0]; ! 3981: a->x.ints[4] = 2; /* w */ ! 3982: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 3983: } ! 3984: break; ! 3985: case 627: /* ext.w %z; ext.l %z */ ! 3986: b = a->kids[1]; ! 3987: if ( ! 3988: b->op == 627 /* ext.w %z; ext.l %z */ ! 3989: ) { ! 3990: if (--a->kids[0]->count > 0) { ! 3991: if (c=a->kids[0]->kids[0]) ++c->count; ! 3992: if (c=a->kids[0]->kids[3]) ++c->count; ! 3993: } ! 3994: if (--b->count > 0) { ! 3995: if (c=b->kids[0]) ++c->count; ! 3996: if (c=b->kids[3]) ++c->count; ! 3997: } ! 3998: a->syms[0] = a->kids[0]->syms[0]; ! 3999: a->kids[3] = a->kids[0]->kids[3]; ! 4000: a->x.ints[0] = a->kids[0]->x.ints[0]; ! 4001: a->kids[0] = a->kids[0]->kids[0]; ! 4002: a->syms[1] = b->syms[0]; ! 4003: a->kids[4] = b->kids[3]; ! 4004: a->x.ints[1] = b->x.ints[0]; ! 4005: a->kids[1] = b->kids[0]; ! 4006: a->x.ints[4] = 1; /* b */ ! 4007: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 4008: } ! 4009: break; ! 4010: } ! 4011: break; ! 4012: case 15: /* &%c */ ! 4013: /* eq */ ! 4014: /* ge */ ! 4015: /* gt */ ! 4016: /* le */ ! 4017: /* lt */ ! 4018: /* ne */ ! 4019: if ("\0\0\0\0\0\0\0\0\0\0\1\0\1\1\0\1\0\0\0\1\0\0\1\0\0\0\0"[a->x.ints[3]]) { ! 4020: b = a->kids[0]; ! 4021: switch (b->op) { ! 4022: case 617: /* %f.%t %z */ ! 4023: if ( ! 4024: b->x.ints[3] == 11 /* ext */ ! 4025: && b->x.ints[4] == 3 /* l */ ! 4026: && b->count == 1 ! 4027: ) { ! 4028: if (--b->count > 0) { ! 4029: if (c=b->kids[0]) ++c->count; ! 4030: if (c=b->kids[3]) ++c->count; ! 4031: } ! 4032: a->syms[0] = b->syms[0]; ! 4033: a->kids[3] = b->kids[3]; ! 4034: a->x.ints[0] = b->x.ints[0]; ! 4035: a->kids[0] = b->kids[0]; ! 4036: a->x.ints[4] = 2; /* w */ ! 4037: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 4038: } ! 4039: break; ! 4040: case 627: /* ext.w %z; ext.l %z */ ! 4041: if ( ! 4042: b->count == 1 ! 4043: ) { ! 4044: if (--b->count > 0) { ! 4045: if (c=b->kids[0]) ++c->count; ! 4046: if (c=b->kids[3]) ++c->count; ! 4047: } ! 4048: a->syms[0] = b->syms[0]; ! 4049: a->kids[3] = b->kids[3]; ! 4050: a->x.ints[0] = b->x.ints[0]; ! 4051: a->kids[0] = b->kids[0]; ! 4052: a->x.ints[4] = 1; /* b */ ! 4053: goto L619; /* cmp.%t %y,%x; b%f %z */ ! 4054: } ! 4055: break; ! 4056: } ! 4057: } ! 4058: break; ! 4059: } ! 4060: } ! 4061: a->op = 619; ! 4062: break; ! 4063: case 620: L620: /* bra %z */ ! 4064: dumptree(a, 620); ! 4065: b = a->kids[2]; ! 4066: if ( ! 4067: a->x.ints[2] == 12 /* ($a%n) */ ! 4068: && b->count == 1 ! 4069: && b->op == 621 /* lea %y,%z */ ! 4070: && b->x.ints[0] == 5 /* _%c */ ! 4071: ) { ! 4072: --b->count; ! 4073: a->x.ints[2] = 18; /* L%c */ ! 4074: a->syms[2] = b->syms[0]; ! 4075: a->kids[2] = 0; ! 4076: goto L620; /* bra %z */ ! 4077: } ! 4078: a->op = 620; ! 4079: break; ! 4080: case 621: L621: /* lea %y,%z */ ! 4081: dumptree(a, 621); ! 4082: b = a->kids[0]; ! 4083: if ( ! 4084: a->x.ints[0] == 9 /* %c($a%n) */ ! 4085: && a->x.ints[2] == 2 /* $a%c */ ! 4086: && b->op == 622 /* mov.%t %y,%z */ ! 4087: && b->x.ints[0] == 2 /* $a%c */ ! 4088: && b->count == 1 ! 4089: && a->syms[2] == b->syms[0] ! 4090: ) { ! 4091: --b->count; ! 4092: a->x.ints[1] = 15; /* &%c */ ! 4093: a->x.ints[4] = 3; /* l */ ! 4094: a->x.ints[3] = 1; /* add */ ! 4095: a->syms[1] = a->syms[0]; ! 4096: a->kids[0] = 0; ! 4097: goto L615; /* %f.%t %x,%z */ ! 4098: } ! 4099: a->op = 621; ! 4100: break; ! 4101: case 622: L622: /* mov.%t %y,%z */ ! 4102: dumptree(a, 622); ! 4103: if ( ! 4104: a->x.ints[2] == 11 /* %c($a6) */ ! 4105: ) { ! 4106: if ( ! 4107: getregset(a->syms[2])==DREG ! 4108: ) { ! 4109: a->x.ints[2] = 4; /* $d%c */ ! 4110: goto L622; /* mov.%t %y,%z */ ! 4111: } ! 4112: if ( ! 4113: getregset(a->syms[2])==AREG ! 4114: ) { ! 4115: a->x.ints[2] = 2; /* $a%c */ ! 4116: goto L622; /* mov.%t %y,%z */ ! 4117: } ! 4118: } ! 4119: switch (a->x.ints[0]) { ! 4120: case 1: /* $a%n */ ! 4121: b = a->kids[0]; ! 4122: if ( ! 4123: a->x.ints[2] == 2 /* $a%c */ ! 4124: && b->op == 621 /* lea %y,%z */ ! 4125: && b->count == 1 ! 4126: ) { ! 4127: if (--b->count > 0) { ! 4128: if (c=b->kids[0]) ++c->count; ! 4129: if (c=b->kids[3]) ++c->count; ! 4130: } ! 4131: a->syms[0] = b->syms[0]; ! 4132: a->kids[3] = b->kids[3]; ! 4133: a->x.ints[0] = b->x.ints[0]; ! 4134: a->kids[0] = b->kids[0]; ! 4135: goto L621; /* lea %y,%z */ ! 4136: } ! 4137: break; ! 4138: case 2: /* $a%c */ ! 4139: if ( ! 4140: a->x.ints[2] == 2 /* $a%c */ ! 4141: && a->syms[RX] == rmap[P] && rmcopy(a) ! 4142: ) { ! 4143: a->syms[2] = a->syms[0]; ! 4144: goto L622; /* mov.%t %y,%z */ ! 4145: } ! 4146: break; ! 4147: case 4: /* $d%c */ ! 4148: if ( ! 4149: a->x.ints[2] == 4 /* $d%c */ ! 4150: && a->syms[RX] == rmap[I] && rmcopy(a) ! 4151: ) { ! 4152: a->syms[2] = a->syms[0]; ! 4153: goto L622; /* mov.%t %y,%z */ ! 4154: } ! 4155: break; ! 4156: case 11: /* %c($a6) */ ! 4157: if ( ! 4158: getregset(a->syms[0])==DREG ! 4159: ) { ! 4160: a->x.ints[0] = 4; /* $d%c */ ! 4161: goto L622; /* mov.%t %y,%z */ ! 4162: } ! 4163: if ( ! 4164: getregset(a->syms[0])==AREG ! 4165: ) { ! 4166: a->x.ints[0] = 2; /* $a%c */ ! 4167: goto L622; /* mov.%t %y,%z */ ! 4168: } ! 4169: break; ! 4170: } ! 4171: if ( ! 4172: a->x.ints[2] == 10 /* %c($sp) */ ! 4173: && a->syms[2]->x.name == sym[3].x.name /* 0 */ ! 4174: ) { ! 4175: a->x.ints[2] = 13; /* ($sp) */ ! 4176: goto L622; /* mov.%t %y,%z */ ! 4177: } ! 4178: b = a->kids[0]; ! 4179: if ( ! 4180: a->x.ints[0] == 12 /* ($a%n) */ ! 4181: && b->op == 621 /* lea %y,%z */ ! 4182: ) { ! 4183: if ( ! 4184: b->x.ints[0] == 5 /* _%c */ ! 4185: ) { ! 4186: if (--b->count > 0) { ! 4187: if (c=b->kids[0]) ++c->count; ! 4188: if (c=b->kids[3]) ++c->count; ! 4189: } ! 4190: a->syms[0] = b->syms[0]; ! 4191: a->kids[3] = b->kids[3]; ! 4192: a->x.ints[0] = b->x.ints[0]; ! 4193: a->kids[0] = b->kids[0]; ! 4194: goto L622; /* mov.%t %y,%z */ ! 4195: } ! 4196: if ( ! 4197: b->count == 1 ! 4198: ) { ! 4199: if (--b->count > 0) { ! 4200: if (c=b->kids[0]) ++c->count; ! 4201: if (c=b->kids[3]) ++c->count; ! 4202: } ! 4203: a->syms[0] = b->syms[0]; ! 4204: a->kids[3] = b->kids[3]; ! 4205: a->x.ints[0] = b->x.ints[0]; ! 4206: a->kids[0] = b->kids[0]; ! 4207: goto L622; /* mov.%t %y,%z */ ! 4208: } ! 4209: if ( ! 4210: b->x.ints[0] == 11 /* %c($a6) */ ! 4211: ) { ! 4212: if (--b->count > 0) { ! 4213: if (c=b->kids[0]) ++c->count; ! 4214: if (c=b->kids[3]) ++c->count; ! 4215: } ! 4216: a->syms[0] = b->syms[0]; ! 4217: a->kids[3] = b->kids[3]; ! 4218: a->x.ints[0] = b->x.ints[0]; ! 4219: a->kids[0] = b->kids[0]; ! 4220: goto L622; /* mov.%t %y,%z */ ! 4221: } ! 4222: } ! 4223: b = a->kids[2]; ! 4224: if ( ! 4225: a->x.ints[2] == 12 /* ($a%n) */ ! 4226: && b->op == 621 /* lea %y,%z */ ! 4227: ) { ! 4228: if ( ! 4229: b->x.ints[0] == 5 /* _%c */ ! 4230: ) { ! 4231: if (--b->count > 0) { ! 4232: if (c=b->kids[0]) ++c->count; ! 4233: if (c=b->kids[3]) ++c->count; ! 4234: } ! 4235: a->syms[2] = b->syms[0]; ! 4236: a->kids[5] = b->kids[3]; ! 4237: a->x.ints[2] = b->x.ints[0]; ! 4238: a->kids[2] = b->kids[0]; ! 4239: goto L622; /* mov.%t %y,%z */ ! 4240: } ! 4241: if ( ! 4242: b->count == 1 ! 4243: ) { ! 4244: if (--b->count > 0) { ! 4245: if (c=b->kids[0]) ++c->count; ! 4246: if (c=b->kids[3]) ++c->count; ! 4247: } ! 4248: a->syms[2] = b->syms[0]; ! 4249: a->kids[5] = b->kids[3]; ! 4250: a->x.ints[2] = b->x.ints[0]; ! 4251: a->kids[2] = b->kids[0]; ! 4252: goto L622; /* mov.%t %y,%z */ ! 4253: } ! 4254: if ( ! 4255: b->x.ints[0] == 11 /* %c($a6) */ ! 4256: ) { ! 4257: if (--b->count > 0) { ! 4258: if (c=b->kids[0]) ++c->count; ! 4259: if (c=b->kids[3]) ++c->count; ! 4260: } ! 4261: a->syms[2] = b->syms[0]; ! 4262: a->kids[5] = b->kids[3]; ! 4263: a->x.ints[2] = b->x.ints[0]; ! 4264: a->kids[2] = b->kids[0]; ! 4265: goto L622; /* mov.%t %y,%z */ ! 4266: } ! 4267: } ! 4268: b = a->kids[0]; ! 4269: if ( ! 4270: a->x.ints[4] == 3 /* l */ ! 4271: && a->x.ints[0] == 1 /* $a%n */ ! 4272: && b->op == 621 /* lea %y,%z */ ! 4273: && b->x.ints[0] == 5 /* _%c */ ! 4274: ) { ! 4275: --b->count; ! 4276: a->x.ints[0] = 17; /* &_%c */ ! 4277: a->syms[0] = b->syms[0]; ! 4278: a->kids[0] = 0; ! 4279: goto L622; /* mov.%t %y,%z */ ! 4280: } ! 4281: switch (a->x.ints[0]) { ! 4282: case 1: /* $a%n */ ! 4283: if ( ! 4284: b->op == 622 /* mov.%t %y,%z */ ! 4285: && b->x.ints[4] == 3 /* l */ ! 4286: && b->x.ints[0] == 1 /* $a%n */ ! 4287: ) { ! 4288: if (--b->count > 0) ! 4289: if (c=b->kids[0]) ++c->count; ! 4290: a->kids[0] = b->kids[0]; ! 4291: goto L622; /* mov.%t %y,%z */ ! 4292: } ! 4293: if ( ! 4294: b->op == 622 /* mov.%t %y,%z */ ! 4295: && a->x.ints[4] == b->x.ints[4] ! 4296: ) { ! 4297: /* $d%n */ ! 4298: /* &%c */ ! 4299: if ("\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"[b->x.ints[0]]) { ! 4300: if (--b->count > 0) { ! 4301: if (c=b->kids[0]) ++c->count; ! 4302: if (c=b->kids[3]) ++c->count; ! 4303: } ! 4304: a->syms[0] = b->syms[0]; ! 4305: a->kids[3] = b->kids[3]; ! 4306: a->x.ints[0] = b->x.ints[0]; ! 4307: a->kids[0] = b->kids[0]; ! 4308: goto L622; /* mov.%t %y,%z */ ! 4309: } ! 4310: if ( ! 4311: b->count == 1 ! 4312: ) { ! 4313: if (--b->count > 0) { ! 4314: if (c=b->kids[0]) ++c->count; ! 4315: if (c=b->kids[3]) ++c->count; ! 4316: } ! 4317: a->syms[0] = b->syms[0]; ! 4318: a->kids[3] = b->kids[3]; ! 4319: a->x.ints[0] = b->x.ints[0]; ! 4320: a->kids[0] = b->kids[0]; ! 4321: goto L622; /* mov.%t %y,%z */ ! 4322: } ! 4323: /* $a%n */ ! 4324: /* &_%c */ ! 4325: if ("\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"[b->x.ints[0]]) { ! 4326: if (--b->count > 0) { ! 4327: if (c=b->kids[0]) ++c->count; ! 4328: if (c=b->kids[3]) ++c->count; ! 4329: } ! 4330: a->syms[0] = b->syms[0]; ! 4331: a->kids[3] = b->kids[3]; ! 4332: a->x.ints[0] = b->x.ints[0]; ! 4333: a->kids[0] = b->kids[0]; ! 4334: goto L622; /* mov.%t %y,%z */ ! 4335: } ! 4336: } ! 4337: if ( ! 4338: b->op == 615 /* %f.%t %x,%z */ ! 4339: && b->x.ints[3] == 1 /* add */ ! 4340: && b->x.ints[1] == 1 /* $a%n */ ! 4341: && a->x.ints[4] == b->x.ints[4] ! 4342: && b->count == 1 ! 4343: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4344: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4345: && b->kids[0]->count == 1 ! 4346: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4347: && b->kids[0]->kids[0] == a->kids[2] ! 4348: && b->kids[0]->kids[3] == a->kids[5] ! 4349: && b->kids[0]->syms[0] == a->syms[2] ! 4350: ) { ! 4351: if (--b->count > 0) { ! 4352: if (c=b->kids[1]) ++c->count; ! 4353: if (c=b->kids[4]) ++c->count; ! 4354: } ! 4355: --b->kids[0]->count; ! 4356: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4357: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4358: a->x.ints[3] = 1; /* add */ ! 4359: a->syms[1] = b->syms[1]; ! 4360: a->kids[4] = b->kids[4]; ! 4361: a->kids[1] = b->kids[1]; ! 4362: a->x.ints[1] = b->x.ints[1]; ! 4363: b->kids[0]->kids[3] = 0; ! 4364: b->kids[0]->kids[0] = 0; ! 4365: b->kids[0] = 0; ! 4366: a->kids[0] = 0; ! 4367: goto L615; /* %f.%t %x,%z */ ! 4368: } ! 4369: if ( ! 4370: b->op == 615 /* %f.%t %x,%z */ ! 4371: && b->x.ints[3] == 26 /* sub */ ! 4372: && b->x.ints[1] == 1 /* $a%n */ ! 4373: && a->x.ints[4] == b->x.ints[4] ! 4374: && b->count == 1 ! 4375: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4376: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4377: && b->kids[0]->count == 1 ! 4378: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4379: && b->kids[0]->kids[0] == a->kids[2] ! 4380: && b->kids[0]->kids[3] == a->kids[5] ! 4381: && b->kids[0]->syms[0] == a->syms[2] ! 4382: ) { ! 4383: if (--b->count > 0) { ! 4384: if (c=b->kids[1]) ++c->count; ! 4385: if (c=b->kids[4]) ++c->count; ! 4386: } ! 4387: --b->kids[0]->count; ! 4388: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4389: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4390: a->x.ints[3] = 26; /* sub */ ! 4391: a->syms[1] = b->syms[1]; ! 4392: a->kids[4] = b->kids[4]; ! 4393: a->kids[1] = b->kids[1]; ! 4394: a->x.ints[1] = b->x.ints[1]; ! 4395: b->kids[0]->kids[3] = 0; ! 4396: b->kids[0]->kids[0] = 0; ! 4397: b->kids[0] = 0; ! 4398: a->kids[0] = 0; ! 4399: goto L615; /* %f.%t %x,%z */ ! 4400: } ! 4401: if ( ! 4402: b->op == 615 /* %f.%t %x,%z */ ! 4403: && b->x.ints[3] == 1 /* add */ ! 4404: && b->x.ints[1] == 15 /* &%c */ ! 4405: && a->x.ints[4] == b->x.ints[4] ! 4406: && b->count == 1 ! 4407: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4408: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4409: && b->kids[0]->count == 1 ! 4410: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4411: && b->kids[0]->kids[0] == a->kids[2] ! 4412: && b->kids[0]->kids[3] == a->kids[5] ! 4413: && b->kids[0]->syms[0] == a->syms[2] ! 4414: ) { ! 4415: if (--b->count > 0) { ! 4416: if (c=b->kids[1]) ++c->count; ! 4417: if (c=b->kids[4]) ++c->count; ! 4418: } ! 4419: --b->kids[0]->count; ! 4420: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4421: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4422: a->x.ints[3] = 1; /* add */ ! 4423: a->syms[1] = b->syms[1]; ! 4424: a->kids[4] = b->kids[4]; ! 4425: a->kids[1] = b->kids[1]; ! 4426: a->x.ints[1] = b->x.ints[1]; ! 4427: b->kids[0]->kids[3] = 0; ! 4428: b->kids[0]->kids[0] = 0; ! 4429: b->kids[0] = 0; ! 4430: a->kids[0] = 0; ! 4431: goto L615; /* %f.%t %x,%z */ ! 4432: } ! 4433: if ( ! 4434: b->op == 615 /* %f.%t %x,%z */ ! 4435: && b->x.ints[3] == 26 /* sub */ ! 4436: && b->x.ints[1] == 15 /* &%c */ ! 4437: && a->x.ints[4] == b->x.ints[4] ! 4438: && b->count == 1 ! 4439: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4440: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4441: && b->kids[0]->count == 1 ! 4442: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4443: && b->kids[0]->kids[0] == a->kids[2] ! 4444: && b->kids[0]->kids[3] == a->kids[5] ! 4445: && b->kids[0]->syms[0] == a->syms[2] ! 4446: ) { ! 4447: if (--b->count > 0) { ! 4448: if (c=b->kids[1]) ++c->count; ! 4449: if (c=b->kids[4]) ++c->count; ! 4450: } ! 4451: --b->kids[0]->count; ! 4452: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4453: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4454: a->x.ints[3] = 26; /* sub */ ! 4455: a->syms[1] = b->syms[1]; ! 4456: a->kids[4] = b->kids[4]; ! 4457: a->kids[1] = b->kids[1]; ! 4458: a->x.ints[1] = b->x.ints[1]; ! 4459: b->kids[0]->kids[3] = 0; ! 4460: b->kids[0]->kids[0] = 0; ! 4461: b->kids[0] = 0; ! 4462: a->kids[0] = 0; ! 4463: goto L615; /* %f.%t %x,%z */ ! 4464: } ! 4465: if ( ! 4466: b->op == 615 /* %f.%t %x,%z */ ! 4467: && b->x.ints[3] == 1 /* add */ ! 4468: && b->x.ints[1] == 3 /* $d%n */ ! 4469: && a->x.ints[4] == b->x.ints[4] ! 4470: && b->count == 1 ! 4471: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4472: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4473: && b->kids[0]->count == 1 ! 4474: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4475: && b->kids[0]->kids[0] == a->kids[2] ! 4476: && b->kids[0]->kids[3] == a->kids[5] ! 4477: && b->kids[0]->syms[0] == a->syms[2] ! 4478: ) { ! 4479: if (--b->count > 0) { ! 4480: if (c=b->kids[1]) ++c->count; ! 4481: if (c=b->kids[4]) ++c->count; ! 4482: } ! 4483: --b->kids[0]->count; ! 4484: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4485: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4486: a->x.ints[3] = 1; /* add */ ! 4487: a->syms[1] = b->syms[1]; ! 4488: a->kids[4] = b->kids[4]; ! 4489: a->kids[1] = b->kids[1]; ! 4490: a->x.ints[1] = b->x.ints[1]; ! 4491: b->kids[0]->kids[3] = 0; ! 4492: b->kids[0]->kids[0] = 0; ! 4493: b->kids[0] = 0; ! 4494: a->kids[0] = 0; ! 4495: goto L615; /* %f.%t %x,%z */ ! 4496: } ! 4497: if ( ! 4498: b->op == 615 /* %f.%t %x,%z */ ! 4499: && b->x.ints[3] == 26 /* sub */ ! 4500: && b->x.ints[1] == 3 /* $d%n */ ! 4501: && a->x.ints[4] == b->x.ints[4] ! 4502: && b->count == 1 ! 4503: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4504: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4505: && b->kids[0]->count == 1 ! 4506: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4507: && b->kids[0]->kids[0] == a->kids[2] ! 4508: && b->kids[0]->kids[3] == a->kids[5] ! 4509: && b->kids[0]->syms[0] == a->syms[2] ! 4510: ) { ! 4511: if (--b->count > 0) { ! 4512: if (c=b->kids[1]) ++c->count; ! 4513: if (c=b->kids[4]) ++c->count; ! 4514: } ! 4515: --b->kids[0]->count; ! 4516: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4517: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4518: a->x.ints[3] = 26; /* sub */ ! 4519: a->syms[1] = b->syms[1]; ! 4520: a->kids[4] = b->kids[4]; ! 4521: a->kids[1] = b->kids[1]; ! 4522: a->x.ints[1] = b->x.ints[1]; ! 4523: b->kids[0]->kids[3] = 0; ! 4524: b->kids[0]->kids[0] = 0; ! 4525: b->kids[0] = 0; ! 4526: a->kids[0] = 0; ! 4527: goto L615; /* %f.%t %x,%z */ ! 4528: } ! 4529: break; ! 4530: case 3: /* $d%n */ ! 4531: if ( ! 4532: b->op == 622 /* mov.%t %y,%z */ ! 4533: && b->x.ints[4] == 3 /* l */ ! 4534: && b->x.ints[0] == 3 /* $d%n */ ! 4535: ) { ! 4536: if (--b->count > 0) ! 4537: if (c=b->kids[0]) ++c->count; ! 4538: a->kids[0] = b->kids[0]; ! 4539: goto L622; /* mov.%t %y,%z */ ! 4540: } ! 4541: if ( ! 4542: b->op == 622 /* mov.%t %y,%z */ ! 4543: && a->x.ints[4] == b->x.ints[4] ! 4544: ) { ! 4545: /* $d%n */ ! 4546: /* &%c */ ! 4547: if ("\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0"[b->x.ints[0]]) { ! 4548: if (--b->count > 0) { ! 4549: if (c=b->kids[0]) ++c->count; ! 4550: if (c=b->kids[3]) ++c->count; ! 4551: } ! 4552: a->syms[0] = b->syms[0]; ! 4553: a->kids[3] = b->kids[3]; ! 4554: a->x.ints[0] = b->x.ints[0]; ! 4555: a->kids[0] = b->kids[0]; ! 4556: goto L622; /* mov.%t %y,%z */ ! 4557: } ! 4558: if ( ! 4559: b->count == 1 ! 4560: ) { ! 4561: if (--b->count > 0) { ! 4562: if (c=b->kids[0]) ++c->count; ! 4563: if (c=b->kids[3]) ++c->count; ! 4564: } ! 4565: a->syms[0] = b->syms[0]; ! 4566: a->kids[3] = b->kids[3]; ! 4567: a->x.ints[0] = b->x.ints[0]; ! 4568: a->kids[0] = b->kids[0]; ! 4569: goto L622; /* mov.%t %y,%z */ ! 4570: } ! 4571: /* $a%n */ ! 4572: /* &_%c */ ! 4573: if ("\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"[b->x.ints[0]]) { ! 4574: if (--b->count > 0) { ! 4575: if (c=b->kids[0]) ++c->count; ! 4576: if (c=b->kids[3]) ++c->count; ! 4577: } ! 4578: a->syms[0] = b->syms[0]; ! 4579: a->kids[3] = b->kids[3]; ! 4580: a->x.ints[0] = b->x.ints[0]; ! 4581: a->kids[0] = b->kids[0]; ! 4582: goto L622; /* mov.%t %y,%z */ ! 4583: } ! 4584: } ! 4585: if ( ! 4586: b->op == 615 /* %f.%t %x,%z */ ! 4587: && b->x.ints[3] == 1 /* add */ ! 4588: && b->x.ints[1] == 1 /* $a%n */ ! 4589: && a->x.ints[4] == b->x.ints[4] ! 4590: && b->count == 1 ! 4591: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4592: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4593: && b->kids[0]->count == 1 ! 4594: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4595: && b->kids[0]->kids[0] == a->kids[2] ! 4596: && b->kids[0]->kids[3] == a->kids[5] ! 4597: && b->kids[0]->syms[0] == a->syms[2] ! 4598: ) { ! 4599: if (--b->count > 0) { ! 4600: if (c=b->kids[1]) ++c->count; ! 4601: if (c=b->kids[4]) ++c->count; ! 4602: } ! 4603: --b->kids[0]->count; ! 4604: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4605: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4606: a->x.ints[3] = 1; /* add */ ! 4607: a->syms[1] = b->syms[1]; ! 4608: a->kids[4] = b->kids[4]; ! 4609: a->kids[1] = b->kids[1]; ! 4610: a->x.ints[1] = b->x.ints[1]; ! 4611: b->kids[0]->kids[3] = 0; ! 4612: b->kids[0]->kids[0] = 0; ! 4613: b->kids[0] = 0; ! 4614: a->kids[0] = 0; ! 4615: goto L615; /* %f.%t %x,%z */ ! 4616: } ! 4617: if ( ! 4618: b->op == 615 /* %f.%t %x,%z */ ! 4619: && b->x.ints[3] == 26 /* sub */ ! 4620: && b->x.ints[1] == 1 /* $a%n */ ! 4621: && a->x.ints[4] == b->x.ints[4] ! 4622: && b->count == 1 ! 4623: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4624: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4625: && b->kids[0]->count == 1 ! 4626: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4627: && b->kids[0]->kids[0] == a->kids[2] ! 4628: && b->kids[0]->kids[3] == a->kids[5] ! 4629: && b->kids[0]->syms[0] == a->syms[2] ! 4630: ) { ! 4631: if (--b->count > 0) { ! 4632: if (c=b->kids[1]) ++c->count; ! 4633: if (c=b->kids[4]) ++c->count; ! 4634: } ! 4635: --b->kids[0]->count; ! 4636: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4637: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4638: a->x.ints[3] = 26; /* sub */ ! 4639: a->syms[1] = b->syms[1]; ! 4640: a->kids[4] = b->kids[4]; ! 4641: a->kids[1] = b->kids[1]; ! 4642: a->x.ints[1] = b->x.ints[1]; ! 4643: b->kids[0]->kids[3] = 0; ! 4644: b->kids[0]->kids[0] = 0; ! 4645: b->kids[0] = 0; ! 4646: a->kids[0] = 0; ! 4647: goto L615; /* %f.%t %x,%z */ ! 4648: } ! 4649: if ( ! 4650: b->op == 615 /* %f.%t %x,%z */ ! 4651: && b->x.ints[3] == 1 /* add */ ! 4652: && b->x.ints[1] == 15 /* &%c */ ! 4653: && a->x.ints[4] == b->x.ints[4] ! 4654: && b->count == 1 ! 4655: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4656: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4657: && b->kids[0]->count == 1 ! 4658: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4659: && b->kids[0]->kids[0] == a->kids[2] ! 4660: && b->kids[0]->kids[3] == a->kids[5] ! 4661: && b->kids[0]->syms[0] == a->syms[2] ! 4662: ) { ! 4663: if (--b->count > 0) { ! 4664: if (c=b->kids[1]) ++c->count; ! 4665: if (c=b->kids[4]) ++c->count; ! 4666: } ! 4667: --b->kids[0]->count; ! 4668: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4669: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4670: a->x.ints[3] = 1; /* add */ ! 4671: a->syms[1] = b->syms[1]; ! 4672: a->kids[4] = b->kids[4]; ! 4673: a->kids[1] = b->kids[1]; ! 4674: a->x.ints[1] = b->x.ints[1]; ! 4675: b->kids[0]->kids[3] = 0; ! 4676: b->kids[0]->kids[0] = 0; ! 4677: b->kids[0] = 0; ! 4678: a->kids[0] = 0; ! 4679: goto L615; /* %f.%t %x,%z */ ! 4680: } ! 4681: if ( ! 4682: b->op == 615 /* %f.%t %x,%z */ ! 4683: && b->x.ints[3] == 26 /* sub */ ! 4684: && b->x.ints[1] == 15 /* &%c */ ! 4685: && a->x.ints[4] == b->x.ints[4] ! 4686: && b->count == 1 ! 4687: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4688: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4689: && b->kids[0]->count == 1 ! 4690: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4691: && b->kids[0]->kids[0] == a->kids[2] ! 4692: && b->kids[0]->kids[3] == a->kids[5] ! 4693: && b->kids[0]->syms[0] == a->syms[2] ! 4694: ) { ! 4695: if (--b->count > 0) { ! 4696: if (c=b->kids[1]) ++c->count; ! 4697: if (c=b->kids[4]) ++c->count; ! 4698: } ! 4699: --b->kids[0]->count; ! 4700: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4701: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4702: a->x.ints[3] = 26; /* sub */ ! 4703: a->syms[1] = b->syms[1]; ! 4704: a->kids[4] = b->kids[4]; ! 4705: a->kids[1] = b->kids[1]; ! 4706: a->x.ints[1] = b->x.ints[1]; ! 4707: b->kids[0]->kids[3] = 0; ! 4708: b->kids[0]->kids[0] = 0; ! 4709: b->kids[0] = 0; ! 4710: a->kids[0] = 0; ! 4711: goto L615; /* %f.%t %x,%z */ ! 4712: } ! 4713: if ( ! 4714: b->op == 615 /* %f.%t %x,%z */ ! 4715: && b->x.ints[3] == 1 /* add */ ! 4716: && b->x.ints[1] == 3 /* $d%n */ ! 4717: && a->x.ints[4] == b->x.ints[4] ! 4718: && b->count == 1 ! 4719: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4720: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4721: && b->kids[0]->count == 1 ! 4722: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4723: && b->kids[0]->kids[0] == a->kids[2] ! 4724: && b->kids[0]->kids[3] == a->kids[5] ! 4725: && b->kids[0]->syms[0] == a->syms[2] ! 4726: ) { ! 4727: if (--b->count > 0) { ! 4728: if (c=b->kids[1]) ++c->count; ! 4729: if (c=b->kids[4]) ++c->count; ! 4730: } ! 4731: --b->kids[0]->count; ! 4732: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4733: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4734: a->x.ints[3] = 1; /* add */ ! 4735: a->syms[1] = b->syms[1]; ! 4736: a->kids[4] = b->kids[4]; ! 4737: a->kids[1] = b->kids[1]; ! 4738: a->x.ints[1] = b->x.ints[1]; ! 4739: b->kids[0]->kids[3] = 0; ! 4740: b->kids[0]->kids[0] = 0; ! 4741: b->kids[0] = 0; ! 4742: a->kids[0] = 0; ! 4743: goto L615; /* %f.%t %x,%z */ ! 4744: } ! 4745: if ( ! 4746: b->op == 615 /* %f.%t %x,%z */ ! 4747: && b->x.ints[3] == 26 /* sub */ ! 4748: && b->x.ints[1] == 3 /* $d%n */ ! 4749: && a->x.ints[4] == b->x.ints[4] ! 4750: && b->count == 1 ! 4751: && b->kids[0]->op == 622 /* mov.%t %y,%z */ ! 4752: && a->x.ints[4] == b->kids[0]->x.ints[4] ! 4753: && b->kids[0]->count == 1 ! 4754: && b->kids[0]->x.ints[0] == a->x.ints[2] ! 4755: && b->kids[0]->kids[0] == a->kids[2] ! 4756: && b->kids[0]->kids[3] == a->kids[5] ! 4757: && b->kids[0]->syms[0] == a->syms[2] ! 4758: ) { ! 4759: if (--b->count > 0) { ! 4760: if (c=b->kids[1]) ++c->count; ! 4761: if (c=b->kids[4]) ++c->count; ! 4762: } ! 4763: --b->kids[0]->count; ! 4764: b->kids[0]->kids[0] && --b->kids[0]->kids[0]->count; ! 4765: b->kids[0]->kids[3] && --b->kids[0]->kids[3]->count; ! 4766: a->x.ints[3] = 26; /* sub */ ! 4767: a->syms[1] = b->syms[1]; ! 4768: a->kids[4] = b->kids[4]; ! 4769: a->kids[1] = b->kids[1]; ! 4770: a->x.ints[1] = b->x.ints[1]; ! 4771: b->kids[0]->kids[3] = 0; ! 4772: b->kids[0]->kids[0] = 0; ! 4773: b->kids[0] = 0; ! 4774: a->kids[0] = 0; ! 4775: goto L615; /* %f.%t %x,%z */ ! 4776: } ! 4777: break; ! 4778: } ! 4779: a->op = 622; ! 4780: break; ! 4781: case 623: L623: /* mov.%t %y,%z; %f.%t %x,%z */ ! 4782: dumptree(a, 623); ! 4783: a->op = 623; ! 4784: break; ! 4785: case 624: L624: /* mov.%t %y,%z; %f.%t %z */ ! 4786: dumptree(a, 624); ! 4787: a->op = 624; ! 4788: break; ! 4789: case 625: L625: /* tst.%t %y; b%f %z */ ! 4790: dumptree(a, 625); ! 4791: a->op = 625; ! 4792: break; ! 4793: case 626: L626: /* %z: */ ! 4794: dumptree(a, 626); ! 4795: a->op = 626; ! 4796: break; ! 4797: case 627: L627: /* ext.w %z; ext.l %z */ ! 4798: dumptree(a, 627); ! 4799: a->op = 627; ! 4800: break; ! 4801: case 628: L628: /* %f.%t %x,%z; ext.w %z */ ! 4802: dumptree(a, 628); ! 4803: a->op = 628; ! 4804: break; ! 4805: case 629: L629: /* %f.%t %x,%z; and &0xffff,%z */ ! 4806: dumptree(a, 629); ! 4807: a->op = 629; ! 4808: break; ! 4809: case 630: L630: /* %f.%t %x,%z; swap; ext.w %z */ ! 4810: dumptree(a, 630); ! 4811: a->op = 630; ! 4812: break; ! 4813: case 631: L631: /* %f.%t %x,%z; swap; and &0xffff,%z */ ! 4814: dumptree(a, 631); ! 4815: a->op = 631; ! 4816: break; ! 4817: default: ! 4818: assert(0); ! 4819: } ! 4820: } ! 4821:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.