Anton Korobeynikov
|
94e21c8740
|
Add instruction formats and few opcodes
llvm-svn: 76062
|
2009-07-16 14:35:20 +00:00 |
|
Anton Korobeynikov
|
e11a89ba74
|
Add bswap patterns
llvm-svn: 76061
|
2009-07-16 14:34:52 +00:00 |
|
Anton Korobeynikov
|
6c622a4547
|
Provide crazy pseudos for regpairs spills / reloads
llvm-svn: 76060
|
2009-07-16 14:34:15 +00:00 |
|
Anton Korobeynikov
|
c5e948c021
|
Handle long-disp stuff more consistently
llvm-svn: 76059
|
2009-07-16 14:33:52 +00:00 |
|
Anton Korobeynikov
|
d9c48cfd00
|
All FP instructions have 12 bit memory displacement field
llvm-svn: 76058
|
2009-07-16 14:33:27 +00:00 |
|
Anton Korobeynikov
|
e1bf81893d
|
Another predicate routine
llvm-svn: 76057
|
2009-07-16 14:33:01 +00:00 |
|
Anton Korobeynikov
|
605ebc2c3c
|
More helpers
llvm-svn: 76056
|
2009-07-16 14:32:41 +00:00 |
|
Anton Korobeynikov
|
014ce79e73
|
Add bunch of branch folding stuff
llvm-svn: 76055
|
2009-07-16 14:32:19 +00:00 |
|
Anton Korobeynikov
|
918a93419c
|
Add missed opcodes to short => long displacement conversion
llvm-svn: 76054
|
2009-07-16 14:31:52 +00:00 |
|
Anton Korobeynikov
|
08d9f6b882
|
Cleanup
llvm-svn: 76053
|
2009-07-16 14:31:32 +00:00 |
|
Anton Korobeynikov
|
94f250ff30
|
Fix logic inversion for RI-mode address selection
llvm-svn: 76052
|
2009-07-16 14:31:14 +00:00 |
|
Anton Korobeynikov
|
4bba61182a
|
Unbreak the test
llvm-svn: 76051
|
2009-07-16 14:30:49 +00:00 |
|
Anton Korobeynikov
|
373515d99e
|
Expand 32-bit bitconverts via memory
llvm-svn: 76050
|
2009-07-16 14:30:29 +00:00 |
|
Anton Korobeynikov
|
080bdae588
|
Fix incomin arg stack frame offset in case we need to generate stack frame
llvm-svn: 76049
|
2009-07-16 14:29:57 +00:00 |
|
Anton Korobeynikov
|
c84e2bb30e
|
Fix instruction mnemonics for some fp_to_sint operations
llvm-svn: 76048
|
2009-07-16 14:29:26 +00:00 |
|
Anton Korobeynikov
|
74497b2190
|
i32 values are passed extended also on stack. Handle this in generic way
llvm-svn: 76047
|
2009-07-16 14:29:05 +00:00 |
|
Anton Korobeynikov
|
319dc4e8d3
|
We definitely have 1-0 bools
llvm-svn: 76046
|
2009-07-16 14:28:46 +00:00 |
|
Anton Korobeynikov
|
2e8f54d16d
|
Revert the commit, it just hides the real bug
llvm-svn: 76045
|
2009-07-16 14:28:26 +00:00 |
|
Anton Korobeynikov
|
0276bc9176
|
Out GR128 regclass is not a 'real' i128 one.
llvm-svn: 76044
|
2009-07-16 14:27:53 +00:00 |
|
Anton Korobeynikov
|
690fef7849
|
Add missed condbranch opcodes
llvm-svn: 76043
|
2009-07-16 14:27:26 +00:00 |
|
Anton Korobeynikov
|
4181716247
|
Handle bitconverts
llvm-svn: 76042
|
2009-07-16 14:27:01 +00:00 |
|
Anton Korobeynikov
|
60427c0b64
|
Unbreak mvi and friends - emit only 'significant' part of the operand
llvm-svn: 76041
|
2009-07-16 14:26:38 +00:00 |
|
Anton Korobeynikov
|
ff6d84fd85
|
Expand fp_to_uint too
llvm-svn: 76040
|
2009-07-16 14:26:06 +00:00 |
|
Anton Korobeynikov
|
da480ca78d
|
We don't have FP truncstores
llvm-svn: 76039
|
2009-07-16 14:25:46 +00:00 |
|
Anton Korobeynikov
|
7ea47e70b3
|
Expand uint_to_fp
llvm-svn: 76038
|
2009-07-16 14:25:30 +00:00 |
|
Anton Korobeynikov
|
117e7a7179
|
Emit proper rounding mode for fp_to_sint
llvm-svn: 76037
|
2009-07-16 14:25:12 +00:00 |
|
Anton Korobeynikov
|
61bf5c13c4
|
f32/f64 regs are stored on stack if we're short in FP regs
llvm-svn: 76036
|
2009-07-16 14:24:57 +00:00 |
|
Anton Korobeynikov
|
bbf0fe2a76
|
Lower anyext to zext, 32-bit stuff does not have any implicit zero-extension side effects
llvm-svn: 76035
|
2009-07-16 14:24:41 +00:00 |
|
Anton Korobeynikov
|
886e977c69
|
Make FP zero to be legal FP immediate via LOAD ZERO
llvm-svn: 76034
|
2009-07-16 14:24:16 +00:00 |
|
Anton Korobeynikov
|
2474b40557
|
Loads are not two-address in any way
llvm-svn: 76033
|
2009-07-16 14:24:01 +00:00 |
|
Anton Korobeynikov
|
e45c7cb554
|
Add LOAD NEGATIVE instruction
llvm-svn: 76032
|
2009-07-16 14:23:44 +00:00 |
|
Anton Korobeynikov
|
d12e7875c9
|
LOAD COMPLEMENT instruction is not really two-addr
llvm-svn: 76031
|
2009-07-16 14:23:30 +00:00 |
|
Anton Korobeynikov
|
f8ac41d531
|
Add multiple add/sub instructions
llvm-svn: 76030
|
2009-07-16 14:23:16 +00:00 |
|
Anton Korobeynikov
|
df2f045667
|
Handle FP callee-saved regs
llvm-svn: 76029
|
2009-07-16 14:23:01 +00:00 |
|
Anton Korobeynikov
|
b90a38d00d
|
Proper FP extloads
llvm-svn: 76028
|
2009-07-16 14:22:46 +00:00 |
|
Anton Korobeynikov
|
940ec5955b
|
Add proper PWS impdef's
llvm-svn: 76027
|
2009-07-16 14:22:30 +00:00 |
|
Anton Korobeynikov
|
3f37f337be
|
Propagate FP select_cc to dag inserters
llvm-svn: 76026
|
2009-07-16 14:22:15 +00:00 |
|
Anton Korobeynikov
|
dc167c2eec
|
Implement fp_to_sint
llvm-svn: 76025
|
2009-07-16 14:21:57 +00:00 |
|
Anton Korobeynikov
|
e372330133
|
Implement FP regs spills / restores
llvm-svn: 76024
|
2009-07-16 14:21:41 +00:00 |
|
Anton Korobeynikov
|
0c3534b070
|
Add fabs
llvm-svn: 76023
|
2009-07-16 14:21:27 +00:00 |
|
Anton Korobeynikov
|
fc1f449073
|
Add fneg
llvm-svn: 76022
|
2009-07-16 14:21:12 +00:00 |
|
Anton Korobeynikov
|
a73f3ffb1f
|
We don't have native sine / cosine instructions
llvm-svn: 76021
|
2009-07-16 14:20:56 +00:00 |
|
Anton Korobeynikov
|
d2feb0d2e4
|
More sint_to_fp stuff
llvm-svn: 76020
|
2009-07-16 14:20:39 +00:00 |
|
Anton Korobeynikov
|
23615e0340
|
Add bunch of FP instructions
llvm-svn: 76019
|
2009-07-16 14:20:24 +00:00 |
|
Anton Korobeynikov
|
32c9954322
|
We don't have any FP extloads
llvm-svn: 76018
|
2009-07-16 14:20:08 +00:00 |
|
Anton Korobeynikov
|
643215b0d7
|
Implement all comparisons
llvm-svn: 76017
|
2009-07-16 14:19:54 +00:00 |
|
Anton Korobeynikov
|
488f8c2fd1
|
Add constpool lowering / printing
llvm-svn: 76016
|
2009-07-16 14:19:35 +00:00 |
|
Anton Korobeynikov
|
4dbabbe3cf
|
Allow FP arguments pass / return
llvm-svn: 76015
|
2009-07-16 14:19:16 +00:00 |
|
Anton Korobeynikov
|
d4e7c7a373
|
Register FP regclasses
llvm-svn: 76014
|
2009-07-16 14:19:02 +00:00 |
|
Anton Korobeynikov
|
2ccdd0fd2b
|
Add FP regs
llvm-svn: 76013
|
2009-07-16 14:18:48 +00:00 |
|