/* Generated file, DO NOT Edit! */ /* To Make changes to rules edit */ /* /peeph.def instead. */ "\n" "\n" "replace restart {\n" " xch a,%1\n" " xch a,%1\n" "} by {\n" " ; Peephole 2.a removed redundant xch xch\n" "}\n" "\n" "replace restart {\n" " mov %1,#0x00\n" " mov a,#0x00\n" "} by {\n" " ; Peephole 3.a changed mov to clr\n" " clr a\n" " mov %1,a\n" "}\n" "\n" "replace restart {\n" " mov %1,#0x00\n" " clr a\n" "} by {\n" " ; Peephole 3.b changed mov to clr\n" " clr a\n" " mov %1,a\n" "}\n" "\n" "replace restart {\n" " mov %1,#0x00\n" " mov %2,#0x00\n" " mov a,%3\n" "} by {\n" " ; Peephole 3.c changed mov to clr\n" " clr a\n" " mov %1,a\n" " mov %2,a\n" " mov a,%3\n" "}\n" "\n" "\n" "\n" "replace {\n" " mov %1,a\n" " mov dptr,#%2\n" " mov a,%1\n" " movx @dptr,a\n" "} by {\n" " ; Peephole 100 removed redundant mov\n" " mov %1,a\n" " mov dptr,#%2\n" " movx @dptr,a\n" "}\n" "\n" "replace {\n" " mov a,acc\n" "} by {\n" " ; Peephole 100.a removed redundant mov\n" "}\n" "\n" "replace {\n" " mov a,%1\n" " movx @dptr,a\n" " inc dptr\n" " mov a,%1\n" " movx @dptr,a\n" "} by {\n" " ; Peephole 101 removed redundant mov\n" " mov a,%1\n" " movx @dptr,a\n" " inc dptr\n" " movx @dptr,a\n" "}\n" "\n" "replace {\n" " mov %1,%2\n" " ljmp %3\n" "%4:\n" " mov %1,%5\n" "%3:\n" " mov dpl,%1\n" "%7:\n" " mov sp,bp\n" " pop bp\n" "} by {\n" " ; Peephole 102 removed redundant mov\n" " mov dpl,%2\n" " ljmp %3\n" "%4:\n" " mov dpl,%5\n" "%3:\n" "%7:\n" " mov sp,bp\n" " pop bp\n" "}\n" "\n" "replace {\n" " mov %1,%2\n" " ljmp %3\n" "%4:\n" " mov a%1,%5\n" "%3:\n" " mov dpl,%1\n" "%7:\n" " mov sp,bp\n" " pop bp\n" "} by {\n" " ; Peephole 103 removed redundant mov\n" " mov dpl,%2\n" " ljmp %3\n" "%4:\n" " mov dpl,%5\n" "%3:\n" "%7:\n" " mov sp,bp\n" " pop bp\n" "}\n" "\n" "replace {\n" " mov a,bp\n" " clr c\n" " add a,#0x01\n" " mov r%1,a\n" "} by {\n" " ; Peephole 104 optimized increment (acc not set to r%1, flags undefined)\n" " mov r%1,bp\n" " inc r%1\n" "}\n" "\n" "replace {\n" " mov %1,a\n" " mov a,%1\n" "} by {\n" " ; Peephole 105 removed redundant mov\n" " mov %1,a\n" "}\n" "\n" "replace {\n" " mov %1,a\n" " clr c\n" " mov a,%1\n" "} by {\n" " ; Peephole 106 removed redundant mov \n" " mov %1,a\n" " clr c\n" "}\n" "\n" "replace {\n" " ljmp %1\n" "%1:\n" "} by {\n" " ; Peephole 107 removed redundant ljmp\n" "%1:\n" "}\n" "\n" "replace {\n" " jc %1\n" " ljmp %5\n" "%1:\n" "} by {\n" " ; Peephole 108 removed ljmp by inverse jump logic\n" " jnc %5\n" "%1:\n" "} if labelInRange\n" "\n" "replace {\n" " jz %1\n" " ljmp %5\n" "%1:\n" "} by {\n" " ; Peephole 109 removed ljmp by inverse jump logic\n" " jnz %5\n" "%1:\n" "} if labelInRange\n" "\n" "replace {\n" " jnz %1\n" " ljmp %5\n" "%1:\n" "} by {\n" " ; Peephole 110 removed ljmp by inverse jump logic\n" " jz %5\n" "%1:\n" "} if labelInRange\n" "\n" "replace {\n" " jb %1,%2\n" " ljmp %5\n" "%2:\n" "} by {\n" " ; Peephole 111 removed ljmp by inverse jump logic\n" " jnb %1,%5\n" "%2:\n" "} if labelInRange\n" "\n" "replace {\n" " jnb %1,%2\n" " ljmp %5\n" "%2:\n" "} by {\n" " ; Peephole 112 removed ljmp by inverse jump logic\n" " jb %1,%5\n" "%2:\n" "} if labelInRange\n" "\n" "replace {\n" " ljmp %5\n" "%1:\n" "} by {\n" " ; Peephole 132 changed ljmp to sjmp\n" " sjmp %5\n" "%1:\n" "} if labelInRange\n" "\n" "\n" "replace {\n" " clr a\n" " cjne %1,%2,%3\n" " cpl a\n" "%3:\n" " rrc a\n" " mov %4,c\n" "} by {\n" " ; Peephole 113 optimized misc sequence\n" " clr %4\n" " cjne %1,%2,%3\n" " setb %4\n" "%3:\n" "}\n" "\n" "replace {\n" " clr a\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " cpl a\n" "%3:\n" " rrc a\n" " mov %4,c\n" "} by {\n" " ; Peephole 114 optimized misc sequence\n" " clr %4\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " setb %4\n" "%3:\n" "}\n" "\n" "replace {\n" " clr a\n" " cjne %1,%2,%3\n" " cpl a\n" "%3:\n" " jnz %4\n" "} by {\n" " ; Peephole 115 jump optimization \n" " cjne %1,%2,%3\n" " sjmp %4\n" "%3:\n" "}\n" "\n" "replace {\n" " clr a\n" " cjne %1,%2,%3\n" " cjne %9,%10,%3\n" " cpl a\n" "%3:\n" " jnz %4\n" "} by {\n" " ; Peephole 116 jump optimization\n" " cjne %1,%2,%3\n" " cjne %9,%10,%3\n" " sjmp %4\n" "%3:\n" "}\n" "\n" "replace {\n" " clr a\n" " cjne %1,%2,%3\n" " cjne %9,%10,%3\n" " cjne %11,%12,%3\n" " cpl a\n" "%3:\n" " jnz %4\n" "} by {\n" " ; Peephole 117 jump optimization\n" " cjne %1,%2,%3\n" " cjne %9,%10,%3\n" " cjne %11,%12,%3\n" " sjmp %4\n" "%3:\n" "}\n" "\n" "replace {\n" " clr a\n" " cjne %1,%2,%3\n" " cjne %9,%10,%3\n" " cjne %11,%12,%3\n" " cjne %13,%14,%3\n" " cpl a\n" "%3:\n" " jnz %4\n" "} by {\n" " ; Peephole 118 jump optimization\n" " cjne %1,%2,%3\n" " cjne %9,%10,%3\n" " cjne %11,%12,%3\n" " cjne %13,%14,%3\n" " sjmp %4\n" "%3:\n" "}\n" "replace {\n" " mov a,#0x01\n" " cjne %1,%2,%3\n" " clr a\n" "%3:\n" " jnz %4\n" "} by {\n" " ; Peephole 119 jump optimization\n" " cjne %1,%2,%4\n" "%3:\n" "}\n" "\n" "replace {\n" " mov a,#0x01\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " clr a\n" "%3:\n" " jnz %4\n" "} by {\n" " ; Peephole 120 jump optimization\n" " cjne %1,%2,%4\n" " cjne %10,%11,%4\n" "%3:\n" "}\n" "replace {\n" " mov a,#0x01\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " cjne %12,%13,%3\n" " clr a\n" "%3:\n" " jnz %4\n" "} by {\n" " ; Peephole 121 jump optimization\n" " cjne %1,%2,%4\n" " cjne %10,%11,%4\n" " cjne %12,%13,%4\n" "%3:\n" "}\n" "\n" "replace {\n" " mov a,#0x01\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " cjne %12,%13,%3\n" " cjne %14,%15,%3\n" " clr a\n" "%3:\n" " jnz %4\n" "} by {\n" " ; Peephole 122 jump optimization\n" " cjne %1,%2,%4\n" " cjne %10,%11,%4\n" " cjne %12,%13,%4\n" " cjne %14,%15,%4\n" "%3:\n" "}\n" "\n" "replace {\n" " mov a,#0x01\n" " cjne %1,%2,%3\n" " clr a\n" "%3:\n" " jz %4\n" "} by {\n" " ; Peephole 123 jump optimization\n" " cjne %1,%2,%3\n" " smp %4\n" "%3:\n" "}\n" "replace {\n" " mov a,#0x01\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " clr a\n" "%3:\n" " jz %4\n" "} by {\n" " ; Peephole 124 jump optimization\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " smp %4\n" "%3:\n" "}\n" "\n" "replace {\n" " mov a,#0x01\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " cjne %12,%13,%3\n" " clr a\n" "%3:\n" " jz %4\n" "} by {\n" " ; Peephole 125 jump optimization\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " cjne %12,%13,%3\n" " sjmp %4\n" "%3:\n" "}\n" "\n" "replace {\n" " mov a,#0x01\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " cjne %12,%13,%3\n" " cjne %14,%15,%3\n" " clr a\n" "%3:\n" " jz %4\n" "} by {\n" " ; Peephole 126 jump optimization\n" " cjne %1,%2,%3\n" " cjne %10,%11,%3\n" " cjne %12,%13,%3\n" " cjne %14,%15,%3\n" " sjmp %4\n" "%3:\n" "}\n" "\n" "replace {\n" " push psw\n" " mov psw,%1\n" " push bp\n" " mov bp,%2\n" "%3:\n" " mov %2,bp\n" " pop bp\n" " pop psw\n" " ret\n" "} by {\n" " ; Peephole 127 removed misc sequence\n" " ret\n" "}\n" "\n" "replace {\n" " clr a\n" " rlc a\n" " jz %1\n" "} by {\n" " ; Peephole 128 jump optimization\n" " jnc %1\n" "}\n" "\n" "replace {\n" " clr a\n" " rlc a\n" " jnz %1\n" "} by {\n" " ; Peephole 129 jump optimization\n" " jc %1\n" "}\n" "\n" "replace { \n" " mov r%1,@r%2\n" "} by {\n" " ; Peephole 130 changed target address mode r%1 to ar%1\n" " mov ar%1,@r%2\n" "}\n" "\n" "replace { \n" " mov a,%1\n" " subb a,#0x01\n" " mov %2,a\n" " mov %1,%2\n" "} by {\n" " ; Peephole 131 optimized decrement (not caring for c)\n" " dec %1 \n" " mov %2,%1 \n" "}\n" "\n" "replace {\n" " mov r%1,%2\n" " mov ar%3,@r%1\n" " inc r%3\n" " mov r%4,%2\n" " mov @r%4,ar%3\n" "} by {\n" " ; Peephole 133 removed redundant moves\n" " mov r%1,%2\n" " inc @r%1\n" " mov ar%3,@r%1\n" "}\n" "\n" "replace {\n" " mov r%1,%2\n" " mov ar%3,@r%1\n" " dec r%3\n" " mov r%4,%2\n" " mov @r%4,ar%3\n" "} by {\n" " ; Peephole 134 removed redundant moves\n" " mov r%1,%2\n" " dec @r%1\n" " mov ar%3,@r%1\n" "}\n" "\n" "replace {\n" " mov r%1,a\n" " mov a,r%2\n" " orl a,r%1\n" "} by {\n" " ; Peephole 135 removed redundant mov\n" " mov r%1,a\n" " orl a,r%2\n" "}\n" "\n" "replace {\n" " mov %1,a\n" " mov dpl,%2\n" " mov dph,%3\n" " mov dpx,%4\n" " mov a,%1\n" "} by {\n" " ; Peephole 136a removed redundant moves\n" " mov %1,a\n" " mov dpl,%2\n" " mov dph,%3\n" " mov dpx,%4\n" "} if 24bitMode\n" "\n" "replace {\n" " mov %1,a\n" " mov dpl,%2\n" " mov dph,%3\n" " mov a,%1\n" "} by {\n" " ; Peephole 136 removed redundant moves\n" " mov %1,a\n" " mov dpl,%2\n" " mov dph,%3\n" "}\n" "\n" "replace {\n" " mov b,#0x00\n" " mov a,%1\n" " cjne %2,%3,%4\n" " mov b,#0x01\n" "%4:\n" " mov a,b\n" " jz %5\n" "} by {\n" " ; Peephole 137 optimized misc jump sequence\n" " mov a,%1\n" " cjne %2,%3,%5\n" "%4:\n" "}\n" "\n" "replace {\n" " mov b,#0x00\n" " mov a,%1\n" " cjne %2,%3,%4\n" " mov b,#0x01\n" "%4:\n" " mov a,b\n" " jnz %5\n" "} by {\n" " ; Peephole 138 optimized misc jump sequence\n" " mov a,%1\n" " cjne %2,%3,%4\n" " sjmp %5\n" "%4:\n" "}\n" "\n" "replace {\n" " mov r%1,a\n" " anl ar%1,%2\n" " mov a,r%1\n" "} by {\n" " ; Peephole 139 removed redundant mov\n" " anl a,%2\n" " mov r%1,a\n" "}\n" "\n" "replace {\n" " mov r%1,a\n" " orl ar%1,%2\n" " mov a,r%1\n" "} by {\n" " ; Peephole 140 removed redundant mov\n" " orl a,%2\n" " mov r%1,a }\n" "\n" "replace {\n" " mov r%1,a\n" " xrl ar%1,%2\n" " mov a,r%1\n" "} by {\n" " ; Peephole 141 removed redundant mov\n" " xrl a,%2\n" " mov r%1,a\n" "}\n" "\n" "replace {\n" " mov r%1,a\n" " mov r%2,ar%1\n" " mov ar%1,@r%2\n" "} by {\n" " ; Peephole 142 removed redundant moves\n" " mov r%2,a\n" " mov ar%1,@r%2\n" "}\n" "\n" "replace {\n" " rlc a\n" " mov acc.0,c\n" "} by {\n" " ; Peephole 143 converted rlc to rl\n" " rl a\n" "}\n" "\n" "replace {\n" " rrc a\n" " mov acc.7,c\n" "} by {\n" " ; Peephole 144 converted rrc to rc\n" " rr a\n" "}\n" "\n" "replace {\n" " clr c\n" " addc a,%1\n" "} by {\n" " ; Peephole 145 changed to add without carry \n" " add a,%1\n" "}\n" "\n" "replace {\n" " clr c\n" " mov a,%1\n" " addc a,%2\n" "} by {\n" " ; Peephole 146 changed to add without carry\n" " mov a,%1\n" " add a,%2\n" "}\n" "\n" "replace {\n" " orl r%1,a\n" "} by {\n" " ; Peephole 147 changed target address mode r%1 to ar%1\n" " orl ar%1,a\n" "}\n" "\n" "replace {\n" " anl r%1,a\n" "} by {\n" " ; Peephole 148 changed target address mode r%1 to ar%1\n" " anl ar%1,a\n" "}\n" "\n" "replace {\n" " xrl r%1,a\n" "} by {\n" " ; Peephole 149 changed target address mode r%1 to ar%1\n" " xrl ar%1,a\n" "}\n" "\n" "replace {\n" " mov %1,dpl\n" " mov dpl,%1\n" "%9:\n" " ret\n" "} by {\n" " ; Peephole 150 removed misc moves via dpl before return\n" "%9:\n" " ret\n" "}\n" "\n" "replace {\n" " mov %1,dpl\n" " mov %2,dph\n" " mov dpl,%1\n" " mov dph,%2\n" "%9:\n" " ret\n" "} by {\n" " ; Peephole 151 removed misc moves via dph, dpl before return\n" "%9:\n" " ret\n" "}\n" "\n" "replace {\n" " mov %1,dpl\n" " mov %2,dph\n" " mov dpl,%1\n" "%9:\n" " ret\n" "} by {\n" " ; Peephole 152 removed misc moves via dph, dpl before return\n" "%9:\n" " ret\n" "}\n" "\n" "replace {\n" " mov %1,dpl\n" " mov %2,dph\n" " mov %3,b\n" " mov dpl,%1\n" " mov dph,%2\n" " mov b,%3\n" "%9:\n" " ret\n" "} by {\n" " ; Peephole 153 removed misc moves via dph, dpl, b before return\n" "%9:\n" " ret\n" "}\n" "\n" "replace {\n" " mov %1,dpl\n" " mov %2,dph\n" " mov %3,b\n" " mov dpl,%1\n" "%9:\n" " ret\n" "} by {\n" " ; Peephole 154 removed misc moves via dph, dpl, b before return\n" "%9:\n" " ret\n" "}\n" "\n" "replace {\n" " mov %1,dpl\n" " mov %2,dph\n" " mov %3,b\n" " mov dpl,%1\n" " mov dph,%2\n" "%9:\n" " ret\n" "} by {\n" " ; Peephole 155 removed misc moves via dph, dpl, b before return\n" "%9:\n" " ret\n" "}\n" "\n" "replace {\n" " mov %1,dpl\n" " mov %2,dph\n" " mov %3,b\n" " mov %4,a\n" " mov dpl,%1\n" " mov dph,%2\n" " mov b,%3\n" " mov a,%4\n" "%9:\n" " ret\n" "} by {\n" " ; Peephole 156 removed misc moves via dph, dpl, b, a before return\n" "%9:\n" " ret\n" "}\n" "\n" "replace {\n" " mov %1,dpl\n" " mov %2,dph\n" " mov %3,b\n" " mov %4,a\n" " mov dpl,%1\n" " mov dph,%2\n" "%9:\n" " ret\n" "} by {\n" " ; Peephole 157 removed misc moves via dph, dpl, b, a before return\n" "%9:\n" " ret\n" "}\n" "\n" "replace {\n" " mov %1,dpl\n" " mov %2,dph\n" " mov %3,b\n" " mov %4,a\n" " mov dpl,%1\n" "%9:\n" " ret } by {\n" " ; Peephole 158 removed misc moves via dph, dpl, b, a before return\n" "%9:\n" " ret }\n" "\n" "replace {\n" " mov %1,#%2\n" " xrl %1,#0x80\n" "} by {\n" " ; Peephole 159 avoided xrl during execution\n" " mov %1,#(%2 ^ 0x80)\n" "}\n" "\n" "replace {\n" " jnc %1\n" " sjmp %2\n" "%1:\n" "} by {\n" " ; Peephole 160 removed sjmp by inverse jump logic\n" " jc %2\n" "%1:}\n" "\n" "replace {\n" " jc %1\n" " sjmp %2\n" "%1:\n" "} by {\n" " ; Peephole 161 removed sjmp by inverse jump logic\n" " jnc %2\n" "%1:}\n" "\n" "replace {\n" " jnz %1\n" " sjmp %2\n" "%1:\n" "} by {\n" " ; Peephole 162 removed sjmp by inverse jump logic\n" " jz %2\n" "%1:}\n" "\n" "replace {\n" " jz %1\n" " sjmp %2\n" "%1:\n" "} by {\n" " ; Peephole 163 removed sjmp by inverse jump logic\n" " jnz %2\n" "%1:}\n" "\n" "replace {\n" " jnb %3,%1\n" " sjmp %2\n" "%1:\n" "} by {\n" " ; Peephole 164 removed sjmp by inverse jump logic\n" " jb %3,%2\n" "%1:\n" "}\n" "\n" "replace {\n" " jb %3,%1\n" " sjmp %2\n" "%1:\n" "} by {\n" " ; Peephole 165 removed sjmp by inverse jump logic\n" " jnb %3,%2\n" "%1:\n" "}\n" "\n" "replace {\n" " mov %1,%2\n" " mov %3,%1\n" " mov %2,%1\n" "} by {\n" " ; Peephole 166 removed redundant mov\n" " mov %1,%2\n" " mov %3,%1 }\n" "\n" "replace {\n" " mov c,%1\n" " cpl c\n" " mov %1,c\n" "} by {\n" " ; Peephole 167 removed redundant bit moves (c not set to %1)\n" " cpl %1 }\n" "\n" "replace {\n" " jnb %1,%2\n" " sjmp %3\n" "%2:} by {\n" " ; Peephole 168 jump optimization\n" " jb %1,%3\n" "%2:}\n" "\n" "replace {\n" " jb %1,%2\n" " sjmp %3\n" "%2:} by {\n" " ; Peephole 169 jump optimization\n" " jnb %1,%3\n" "%2:}\n" "\n" "replace {\n" " clr a\n" " cjne %1,%2,%3\n" " cpl a\n" "%3:\n" " jz %4\n" "} by {\n" " ; Peephole 170 jump optimization\n" " cjne %1,%2,%4\n" "%3:}\n" "\n" "replace {\n" " clr a\n" " cjne %1,%2,%3\n" " cjne %9,%10,%3\n" " cpl a\n" "%3:\n" " jz %4\n" "} by {\n" " ; Peephole 171 jump optimization\n" " cjne %1,%2,%4\n" " cjne %9,%10,%4\n" "%3:}\n" "\n" "replace {\n" " clr a\n" " cjne %1,%2,%3\n" " cjne %9,%10,%3\n" " cjne %11,%12,%3\n" " cpl a\n" "%3:\n" " jz %4\n" "} by {\n" " ; Peephole 172 jump optimization\n" " cjne %1,%2,%4\n" " cjne %9,%10,%4\n" " cjne %11,%12,%4\n" "%3:}\n" "\n" "replace {\n" " clr a\n" " cjne %1,%2,%3\n" " cjne %9,%10,%3\n" " cjne %11,%12,%3\n" " cjne %13,%14,%3\n" " cpl a\n" "%3:\n" " jz %4\n" "} by {\n" " ; Peephole 173 jump optimization\n" " cjne %1,%2,%4\n" " cjne %9,%10,%4\n" " cjne %11,%12,%4\n" " cjne %13,%14,%4\n" "%3:}\n" "\n" "replace {\n" " mov r%1,%2\n" " clr c\n" " mov a,r%1\n" " subb a,#0x01\n" " mov %2,a\n" "} by {\n" " ; Peephole 174 optimized decrement (acc not set to %2, flags undefined)\n" " mov r%1,%2\n" " dec %2\n" "}\n" "\n" "\n" "replace {\n" " mov r%1,%2\n" " mov a,r%1\n" " add a,#0x01\n" " mov %2,a\n" "} by {\n" " ; Peephole 175 optimized increment (acc not set to %2, flags undefined)\n" " mov r%1,%2\n" " inc %2\n" "}\n" "\n" "replace {\n" " mov %1,@r%2\n" " inc %1\n" " mov @r%2,%1\n" "} by {\n" " ; Peephole 176 optimized increment, removed redundant mov\n" " inc @r%2\n" " mov %1,@r%2\n" "}\n" "\n" "replace {\n" " mov %1,%2\n" " mov %2,%1\n" "} by {\n" " ; Peephole 177 removed redundant mov\n" " mov %1,%2\n" "}\n" "\n" "replace {\n" " mov a,%1\n" " mov b,a\n" " mov a,%2\n" "} by {\n" " ; Peephole 178 removed redundant mov\n" " mov b,%1\n" " mov a,%2\n" "}\n" "\n" "replace {\n" " mov b,#0x00\n" " mov a,#0x00\n" "} by {\n" " ; Peephole 179 changed mov to clr\n" " clr a\n" " mov b,a\n" "}\n" "\n" "replace {\n" " mov a,#0x00\n" "} by {\n" " ; Peephole 180 changed mov to clr\n" " clr a\n" "}\n" "\n" "replace {\n" " mov dpl,#0x00\n" " mov dph,#0x00\n" " mov dpx,#0x00\n" "} by {\n" " ; Peephole 181a used 24 bit load of dptr\n" " mov dptr,#0x0000\n" "} if 24bitMode\n" "\n" "replace {\n" " mov dpl,#0x00\n" " mov dph,#0x00\n" "} by {\n" " ; Peephole 181 used 16 bit load of dptr\n" " mov dptr,#0x0000\n" "}\n" "\n" "replace {\n" " mov dpl,#%1\n" " mov dph,#(%1 >> 8)\n" " mov dpx,#(%1 >> 16)\n" "} by {\n" " ; Peephole 182a used 24 bit load of dptr\n" " mov dptr,#%1\n" "} if 24bitMode\n" "\n" "replace {\n" " mov dpl,#%1\n" " mov dph,#%2\n" "} by {\n" " ; Peephole 182 used 16 bit load of dptr\n" " mov dptr,#(((%2)<<8) + %1)\n" "}\n" "\n" "replace {\n" " anl %1,#%2\n" " anl %1,#%3\n" "} by {\n" " ; Peephole 183 avoided anl during execution\n" " anl %1,#(%2 & %3)\n" "}\n" "\n" "replace {\n" " mov %1,a\n" " cpl a\n" " mov %1,a\n" "} by {\n" " ; Peephole 184 removed redundant mov\n" " cpl a\n" " mov %1,a\n" "}\n" "\n" "replace {\n" " mov %1,a\n" " inc %1\n" "} by {\n" " ; Peephole 185 changed order of increment (acc incremented also!)\n" " inc a\n" " mov %1,a\n" "}\n" "\n" "replace {\n" " add a,#%1\n" " mov dpl,a\n" " clr a\n" " addc a,#(%1 >> 8)\n" " mov dph,a\n" " clr a\n" " movc a,@a+dptr\n" " mov %2,a\n" " inc dptr\n" " clr a\n" " movc a,@a+dptr\n" " mov %3,a\n" " inc dptr\n" " clr a\n" " movc a,@a+dptr\n" " mov %4,a\n" " inc dptr\n" " clr a \n" "} by {\n" " ; Peephole 186.a optimized movc sequence\n" " mov dptr,#%1\n" " mov b,acc\n" " movc a,@a+dptr\n" " mov %2,a\n" " mov acc,b\n" " inc dptr \n" " movc a,@a+dptr\n" " mov %3,a\n" " mov acc,b\n" " inc dptr\n" " mov %4,a\n" " mov acc,b\n" " inc dptr\n" "}\n" "\n" "replace {\n" " add a,#%1\n" " mov dpl,a\n" " clr a\n" " addc a,#(%1 >> 8)\n" " mov dph,a\n" " clr a\n" " movc a,@a+dptr\n" " mov %2,a\n" " inc dptr\n" " clr a\n" " movc a,@a+dptr\n" " mov %3,a\n" " inc dptr\n" " clr a\n" "} by {\n" " ; Peephole 186.b optimized movc sequence\n" " mov dptr,#%1\n" " mov b,acc\n" " movc a,@a+dptr\n" " mov %2,a\n" " mov acc,b\n" " inc dptr \n" " movc a,@a+dptr\n" " mov %3,a\n" " mov acc,b\n" " inc dptr \n" "}\n" "\n" "replace {\n" " add a,#%1\n" " mov dpl,a\n" " clr a\n" " addc a,#(%1 >> 8)\n" " mov dph,a\n" " clr a\n" " movc a,@a+dptr\n" " mov %2,a\n" " inc dptr\n" " clr a\n" "} by {\n" " ; Peephole 186.c optimized movc sequence\n" " mov dptr,#%1\n" " mov b,acc\n" " movc a,@a+dptr\n" " mov %2,a\n" " mov acc,b\n" " inc dptr\n" "}\n" "\n" "replace {\n" " add a,#%1\n" " mov dpl,a\n" " clr a\n" " addc a,#(%1 >> 8)\n" " mov dph,a\n" " clr a\n" " movc a,@a+dptr\n" "} by {\n" " ; Peephole 186 optimized movc sequence\n" " mov dptr,#%1\n" " movc a,@a+dptr\n" "}\n" "\n" "replace {\n" " mov r%1,%2\n" " anl ar%1,#%3\n" " mov a,r%1\n" "} by {\n" " ; Peephole 187 used a instead of ar%1 for anl\n" " mov a,%2\n" " anl a,#%3\n" " mov r%1,a\n" "}\n" "\n" "replace {\n" " mov %1,a\n" " mov dptr,%2\n" " movc a,@a+dptr\n" " mov %1,a\n" "} by {\n" " ; Peephole 188 removed redundant mov\n" " mov dptr,%2\n" " movc a,@a+dptr\n" " mov %1,a\n" "}\n" "\n" "replace {\n" " anl a,#0x0f\n" " mov %1,a\n" " mov a,#0x0f\n" " anl a,%1\n" "} by {\n" " ; Peephole 189 removed redundant mov and anl\n" " anl a,#0x0f\n" " mov %1,a\n" "}\n" "\n" "replace {\n" " mov a,%1\n" " lcall __gptrput\n" " mov a,%1\n" "} by {\n" " ; Peephole 190 removed redundant mov\n" " mov a,%1\n" " lcall __gptrput\n" "}\n" "\n" "replace {\n" " mov %1,a\n" " mov dpl,%2\n" " mov dph,%3\n" " mov b,%4\n" " mov a,%1\n" "} by {\n" " ; Peephole 191 removed redundant mov\n" " mov %1,a\n" " mov dpl,%2\n" " mov dph,%3\n" " mov b,%4\n" "}\n" "\n" "replace {\n" " mov r%1,a\n" " mov @r%2,ar%1\n" "} by {\n" " ; Peephole 192 used a instead of ar%1 as source\n" " mov r%1,a\n" " mov @r%2,a\n" "}\n" "\n" "replace {\n" " jnz %3\n" " mov a,%4\n" " jnz %3\n" " mov a,%9\n" " jnz %3\n" " mov a,%12\n" " cjne %13,%14,%3\n" " sjmp %7\n" "%3:\n" " sjmp %8\n" "} by {\n" " ; Peephole 193.a optimized misc jump sequence\n" " jnz %8\n" " mov a,%4\n" " jnz %8\n" " mov a,%9\n" " jnz %8\n" " mov a,%12\n" " cjne %13,%14,%8\n" " sjmp %7\n" "%3:\n" "}\n" "\n" "replace {\n" " cjne %1,%2,%3\n" " mov a,%4\n" " cjne %5,%6,%3\n" " mov a,%9\n" " cjne %10,%11,%3\n" " mov a,%12\n" " cjne %13,%14,%3\n" " sjmp %7\n" "%3:\n" " sjmp %8\n" "} by {\n" " ; Peephole 193 optimized misc jump sequence\n" " cjne %1,%2,%8\n" " mov a,%4\n" " cjne %5,%6,%8\n" " mov a,%9\n" " cjne %10,%11,%8\n" " mov a,%12\n" " cjne %13,%14,%8\n" " sjmp %7\n" "%3:\n" "}\n" "\n" "replace {\n" " cjne %1,%2,%3\n" " cjne %5,%6,%3\n" " cjne %10,%11,%3\n" " cjne %13,%14,%3\n" " sjmp %7\n" "%3:\n" " sjmp %8\n" "} by {\n" " ; Peephole 194 optimized misc jump sequence\n" " cjne %1,%2,%8\n" " cjne %5,%6,%8\n" " cjne %10,%11,%8\n" " cjne %13,%14,%8\n" " sjmp %7\n" "%3:\n" "}\n" "\n" "replace {\n" " jnz %3\n" " mov a,%4\n" " jnz %3\n" " mov a,%9\n" " cjne %10,%11,%3\n" " sjmp %7\n" "%3:\n" " sjmp %8\n" "} by {\n" " ; Peephole 195.a optimized misc jump sequence\n" " jnz %8\n" " mov a,%4\n" " jnz %8\n" " mov a,%9\n" " cjne %10,%11,%8\n" " sjmp %7\n" "%3:\n" "}\n" "\n" "replace {\n" " cjne %1,%2,%3\n" " mov a,%4\n" " cjne %5,%6,%3\n" " mov a,%9\n" " cjne %10,%11,%3\n" " sjmp %7\n" "%3:\n" " sjmp %8\n" "} by {\n" " ; Peephole 195 optimized misc jump sequence\n" " cjne %1,%2,%8\n" " mov a,%4\n" " cjne %5,%6,%8\n" " mov a,%9\n" " cjne %10,%11,%8\n" " sjmp %7\n" "%3:\n" "}\n" "\n" "replace {\n" " cjne %1,%2,%3\n" " cjne %5,%6,%3\n" " cjne %10,%11,%3\n" " sjmp %7\n" "%3:\n" " sjmp %8\n" "} by {\n" " ; Peephole 196 optimized misc jump sequence\n" " cjne %1,%2,%8\n" " cjne %5,%6,%8\n" " cjne %10,%11,%8\n" " sjmp %7\n" "%3:\n" "}\n" "\n" "replace {\n" " jnz %3\n" " mov a,%4\n" " cjne %5,%6,%3\n" " sjmp %7\n" "%3:\n" " sjmp %8 \n" "} by {\n" " ; Peephole 197.a optimized misc jump sequence\n" " jnz %8\n" " mov a,%4\n" " cjne %5,%6,%8\n" " sjmp %7\n" "%3: \n" "}\n" "\n" "replace {\n" " cjne %1,%2,%3\n" " mov a,%4\n" " cjne %5,%6,%3\n" " sjmp %7\n" "%3:\n" " sjmp %8\n" "} by {\n" " ; Peephole 197 optimized misc jump sequence\n" " cjne %1,%2,%8\n" " mov a,%4\n" " cjne %5,%6,%8\n" " sjmp %7\n" "%3:\n" "}\n" "\n" "replace {\n" " cjne %1,%2,%3\n" " cjne %5,%6,%3\n" " sjmp %7\n" "%3:\n" " sjmp %8\n" "} by {\n" " ; Peephole 198 optimized misc jump sequence\n" " cjne %1,%2,%8\n" " cjne %5,%6,%8\n" " sjmp %7\n" "%3:\n" "}\n" "\n" "replace {\n" " cjne %1,%2,%3\n" " sjmp %4\n" "%3:\n" " sjmp %5\n" "} by {\n" " ; Peephole 199 optimized misc jump sequence\n" " cjne %1,%2,%5\n" " sjmp %4\n" "%3:\n" "}\n" "\n" "replace {\n" " sjmp %1\n" "%1:\n" "} by {\n" " ; Peephole 200 removed redundant sjmp\n" "%1:\n" "}\n" "\n" "replace {\n" " sjmp %1\n" "%2:\n" "%1:\n" "} by {\n" " ; Peephole 201 removed redundant sjmp\n" "%2:\n" "%1:\n" "}\n" "\n" "replace {\n" " push acc\n" " mov dptr,%1\n" " pop acc\n" "} by {\n" " ; Peephole 202 removed redundant push pop\n" " mov dptr,%1\n" "}\n" "\n" "replace {\n" " mov r%1,_spx\n" " lcall %2\n" " mov r%1,_spx\n" "} by {\n" " ; Peephole 203 removed mov r%1,_spx\n" " lcall %2\n" "}\n" "\n" "replace {\n" " mov %1,a\n" " add a,acc\n" " mov %1,a\n" "} by {\n" " ; Peephole 204 removed redundant mov\n" " add a,acc\n" " mov %1,a\n" "}\n" "\n" "replace {\n" " djnz %1,%2\n" " sjmp %3\n" "%2:\n" " sjmp %4\n" "%3:\n" "} by {\n" " ; Peephole 205 optimized misc jump sequence\n" " djnz %1,%4\n" "%2:\n" "%3:\n" "}\n" "\n" "replace {\n" " mov %1,%1\n" "} by {\n" " ; Peephole 206 removed redundant mov %1,%1\n" "}\n" "\n" "replace {\n" " mov a,_bp\n" " add a,#0x00\n" " mov %1,a\n" "} by {\n" " ; Peephole 207 removed zero add (acc not set to %1, flags undefined)\n" " mov %1,_bp\n" "}\n" "\n" "replace {\n" " push acc\n" " mov r%1,_bp\n" " pop acc\n" "} by {\n" " ; Peephole 208 removed redundant push pop\n" " mov r%1,_bp\n" "}\n" "\n" "replace {\n" " mov a,_bp\n" " add a,#0x00\n" " inc a\n" " mov %1,a\n" "} by {\n" " ; Peephole 209 optimized increment (acc not set to %1, flags undefined)\n" " mov %1,_bp\n" " inc %1\n" "}\n" "\n" "replace {\n" " mov dptr,#((((%1 >> 16)) <<16) + (((%1 >> 8)) <<8) + %1)\n" "} by {\n" " ; Peephole 210a simplified expression\n" " mov dptr,#%1\n" "} if 24bitMode\n" "\n" "replace {\n" " mov dptr,#((((%1 >> 8)) <<8) + %1)\n" "} by {\n" " ; Peephole 210 simplified expression\n" " mov dptr,#%1\n" "}\n" "\n" "replace {\n" " push %1\n" " pop %1\n" "} by {\n" " ; Peephole 211 removed redundant push %1 pop %1 \n" "} \n" "\n" "replace {\n" " mov a,_bp\n" " add a,#0x01\n" " mov r%1,a\n" "} by {\n" " ; Peephole 212 reduced add sequence to inc\n" " mov r%1,_bp\n" " inc r%1\n" "}\n" "\n" "replace {\n" " mov %1,#(( %2 >> 8 ) ^ 0x80)\n" "} by { \n" " mov %1,#(%2 >> 8)\n" " xrl %1,#0x80\n" "}\n" "\n" "replace {\n" " mov %1,#(( %2 + %3 >> 8 ) ^ 0x80)\n" "} by { \n" " mov %1,#((%2 + %3) >> 8)\n" " xrl %1,#0x80\n" "}\n" "\n" "replace {\n" " mov %1,a\n" " mov a,%2\n" " add a,%1\n" "} by {\n" " ; Peephole 214 reduced some extra movs\n" " mov %1,a\n" " add a,%2 \n" "} if operandsNotSame\n" "\n" "replace {\n" " mov %1,a\n" " add a,%2\n" " mov %1,a\n" "} by {\n" " ; Peephole 215 removed some movs\n" " add a,%2\n" " mov %1,a\n" "} if operandsNotSame\n" "\n" "replace {\n" " mov r%1,%2\n" " clr a\n" " inc r%1\n" " mov @r%1,a\n" " dec r%1\n" " mov @r%1,a\n" "} by {\n" " ; Peephole 216 simplified clear (2bytes)\n" " mov r%1,%2\n" " clr a\n" " mov @r%1,a\n" " inc r%1\n" " mov @r%1,a\n" "}\n" "\n" "replace {\n" " mov r%1,%2\n" " clr a\n" " inc r%1\n" " inc r%1\n" " mov @r%1,a\n" " dec r%1\n" " mov @r%1,a\n" " dec r%1\n" " mov @r%1,a\n" "} by {\n" " ; Peephole 217 simplified clear (3bytes)\n" " mov r%1,%2\n" " clr a\n" " mov @r%1,a\n" " inc r%1\n" " mov @r%1,a\n" " inc r%1\n" " mov @r%1,a\n" "}\n" "\n" "replace {\n" " mov r%1,%2\n" " clr a\n" " inc r%1\n" " inc r%1\n" " inc r%1\n" " mov @r%1,a\n" " dec r%1\n" " mov @r%1,a\n" " dec r%1\n" " mov @r%1,a\n" " dec r%1\n" " mov @r%1,a\n" "} by {\n" " ; Peephole 218 simplified clear (4bytes)\n" " mov r%1,%2\n" " clr a\n" " mov @r%1,a\n" " inc r%1\n" " mov @r%1,a\n" " inc r%1\n" " mov @r%1,a\n" " inc r%1\n" " mov @r%1,a\n" "}\n" "\n" "replace {\n" " clr a\n" " movx @dptr,a\n" " mov dptr,%1\n" " clr a\n" " movx @dptr,a\n" "} by {\n" " ; Peephole 219 removed redundant clear\n" " clr a\n" " movx @dptr,a\n" " mov dptr,%1\n" " movx @dptr,a\n" "}\n" "\n" "replace {\n" " clr a\n" " movx @dptr,a\n" " mov dptr,%1\n" " movx @dptr,a\n" " mov dptr,%2\n" " clr a\n" " movx @dptr,a\n" "} by {\n" " ; Peephole 219a removed redundant clear\n" " clr a\n" " movx @dptr,a\n" " mov dptr,%1\n" " movx @dptr,a\n" " mov dptr,%2\n" " movx @dptr,a\n" "}\n"