LEFT | RIGHT |
1 // Copyright 2009 The Go Authors. All rights reserved. | 1 // Copyright 2009 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 #include <u.h> | 5 #include <u.h> |
6 #include <libc.h> | 6 #include <libc.h> |
7 #include "gg.h" | 7 #include "gg.h" |
8 | 8 |
9 /* | 9 /* |
10 * generate: | 10 * generate: |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 case OADD: | 256 case OADD: |
257 case OMUL: | 257 case OMUL: |
258 a = optoas(n->op, nl->type); | 258 a = optoas(n->op, nl->type); |
259 goto sbop; | 259 goto sbop; |
260 | 260 |
261 // asymmetric binary | 261 // asymmetric binary |
262 case OSUB: | 262 case OSUB: |
263 a = optoas(n->op, nl->type); | 263 a = optoas(n->op, nl->type); |
264 goto abop; | 264 goto abop; |
265 | 265 |
266 case OHMUL: | 266 » case OHMUL: |
267 cgen_hmul(nl, nr, res); | 267 cgen_hmul(nl, nr, res); |
268 break; | 268 break; |
269 | 269 |
270 case OLROT: | 270 case OLROT: |
271 case OLSH: | 271 case OLSH: |
272 case ORSH: | 272 case ORSH: |
273 cgen_shift(n->op, n->bounded, nl, nr, res); | 273 cgen_shift(n->op, n->bounded, nl, nr, res); |
274 break; | 274 break; |
275 | 275 |
276 case OCONV: | 276 case OCONV: |
(...skipping 1427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1704 regfree(&nodl); | 1704 regfree(&nodl); |
1705 return 0; | 1705 return 0; |
1706 | 1706 |
1707 yes: | 1707 yes: |
1708 if(freer) | 1708 if(freer) |
1709 regfree(&nodr); | 1709 regfree(&nodr); |
1710 if(freel) | 1710 if(freel) |
1711 regfree(&nodl); | 1711 regfree(&nodl); |
1712 return 1; | 1712 return 1; |
1713 } | 1713 } |
LEFT | RIGHT |