LEFT | RIGHT |
(no file at all) | |
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 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 case OXOR: | 255 case OXOR: |
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 |
| 266 case OHMUL: |
| 267 cgen_hmul(nl, nr, res); |
| 268 break; |
265 | 269 |
266 case OLROT: | 270 case OLROT: |
267 case OLSH: | 271 case OLSH: |
268 case ORSH: | 272 case ORSH: |
269 cgen_shift(n->op, n->bounded, nl, nr, res); | 273 cgen_shift(n->op, n->bounded, nl, nr, res); |
270 break; | 274 break; |
271 | 275 |
272 case OCONV: | 276 case OCONV: |
273 if(eqtype(n->type, nl->type) || noconv(n->type, nl->type)) { | 277 if(eqtype(n->type, nl->type) || noconv(n->type, nl->type)) { |
274 cgen(nl, res); | 278 cgen(nl, res); |
(...skipping 1425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1700 regfree(&nodl); | 1704 regfree(&nodl); |
1701 return 0; | 1705 return 0; |
1702 | 1706 |
1703 yes: | 1707 yes: |
1704 if(freer) | 1708 if(freer) |
1705 regfree(&nodr); | 1709 regfree(&nodr); |
1706 if(freel) | 1710 if(freel) |
1707 regfree(&nodl); | 1711 regfree(&nodl); |
1708 return 1; | 1712 return 1; |
1709 } | 1713 } |
LEFT | RIGHT |