| commit | 91c8173093b35392e804a7267c386d147e73979e | [log] [tgz] |
|---|---|---|
| author | Tim Northover <tnorthover@apple.com> | Fri Aug 19 17:17:06 2016 +0000 |
| committer | Tim Northover <tnorthover@apple.com> | Fri Aug 19 17:17:06 2016 +0000 |
| tree | 7aecf6871f63e6a6afc21a9e3c23d9e3e896fe27 | |
| parent | 170dede75dc30599b1628e83ad45ec940b165af3 [diff] |
GlobalISel: support overflow arithmetic intrinsics. Unsigned addition and subtraction can reuse the instructions created to legalize large width operations (i.e. both produce and consume a carry flag). Signed operations and multiplies get a dedicated op-with-overflow instruction. Once this is produced the two values are combined into a struct register (which will almost always be merged with a corresponding G_EXTRACT as part of legalization). llvm-svn: 279278