| 
							
							
								 Chris Lattner | a1251f24b5 | implement zextload bool git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24853 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-19 01:43:04 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 61772c20ee | mark some unsupported ops as unsupported git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24852 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-19 01:39:40 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 96d5bb79d4 | Fix syntax for indirect calls.  This fixes Olden/mst git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24850 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-19 01:22:53 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 6554beffe4 | Keep stack frames 8-byte aligned.  This fixes olden/voronoi git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24849 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-19 01:15:13 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 97561fc2eb | apparently rdy isn't actually a psuedo instruction.  Use rd %y git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24848 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-19 00:53:02 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | beecfd2b2d | add fneg/fabs support for doubles git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24847 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-19 00:50:12 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | da5a7fd8d4 | Various cleanups to this pass, no functionality change git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24846 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-19 00:46:20 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | f53d0bfbfd | add bool truncstores git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24845 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-19 00:19:21 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 8ba0423660 | Elimiante SP and FP, which weren't members of the IntRegs register class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24844 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-19 00:06:52 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 379e6c0369 | The sun assembler only supports .xword in V9 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24842 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 23:36:45 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 7a48e5018b | Configure the asmwriter to allow constant pools to be printed correctly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24841 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 23:35:05 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | b04c5c8eb2 | add support for integer extloads git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24840 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 23:18:37 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 20ad53ffd7 | Add support for undef git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24839 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 23:10:57 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 311f8c21d0 | Add support for calls to external symbols git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24838 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 23:07:11 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | e90ac3a3e7 | we have no memcpy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24837 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 23:00:27 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | b4d899e21c | Fix a crash on a call with no arguments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24836 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 22:57:47 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | dab05f0e19 | Change return lowering so that we can autogen the matching code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24832 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 21:03:04 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 2db3ff66f1 | Implement Calls for V8.  This would be completely autogenerated except for a small bug in tblgen.  When that is fixed, we can remove the ISD::Call case
in Select.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24830 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 15:55:15 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 384e5efc0e | Implement the full V8 ABI for incoming arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24825 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 13:33:06 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | eee99bd459 | Push ops list, asm string, and pattern all the way up to InstV8.  Move the InstV8 class to the InstrFormats file where it belongs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24824 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 08:21:00 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 3308449afc | Give V8 select_cc, in the spirit of the PPC backend git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24823 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 08:13:54 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 98f853698c | remove some unused instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24822 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 07:15:17 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 065c896b7a | V8 doesn't have FP extload git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24821 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 07:13:32 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | d5aae05281 | simplifications, fix typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24820 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 07:09:06 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 8fa54dc702 | Add frameindex support Add support for copying (e.g. returning) doubles
Add support for F<->I instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24818 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 06:59:57 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | abfc2a7363 | Tighten up some checks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24817 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 06:40:34 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 76acc872b3 | Add constant pool support, including folding into addresses. Pretty print addresses a bit, to not print [%r1+%g0]: just print [%r1]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24813 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 02:37:35 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | e1389ad43a | Teach the addressing mode stuff to fold "%lo" into 'ri' addressing modes, allowing us to compile this:
to this:
%G1 = external global int
%G2 = external global int
void %test() {
        %X = load int* %G1
        store int %X, int* %G2
        ret void
}
test:
        save -96, %sp, %sp
        sethi %hi(G1), %l0
        ld [%l0+%lo(G1)], %l0
        sethi %hi(G2), %l1
        st %l0, [%l1+%lo(G2)]
        restore %g0, %g0, %g0
        retl
        nop
instead of this:
test:
        save -96, %sp, %sp
        sethi %hi(G1), %l0
        or %g0, %lo(G1), %l1
        ld [%l1+%l0], %l0
        sethi %hi(G2), %l1
        or %g0, %lo(G2), %l2
        st %l0, [%l2+%l1]
        restore %g0, %g0, %g0
        retl
        nop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24812 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 02:27:00 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | e357246c6b | Add initial support for global variables, and fix a bug in addr mode selection where we didn't select the operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24811 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 02:10:39 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 04dd673aea | Claiming that branch targets are registers is not very wholesome.  Change them to be basic blocks.  Also, add uncond branches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24810 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 01:46:58 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 456b9400dc | Add unordered comparisons git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24809 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 01:41:39 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 5b2dfc7cc1 | Add patterns to the rest of the int condbranches and some of the fp branches git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24808 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 01:38:19 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 4d55aca87a | Add initial conditional branch support.  This doesn't actually work yet due to a bug in the scheduler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24807 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-18 01:20:35 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 38abcb500f | Eliminate CMPri, which is a synonym for SUBCCri git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24805 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 23:52:08 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 294974bd57 | add fneg,fabs,fsqrt instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24803 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 23:20:27 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | b4d5172af9 | Add patterns for fround/fextend and the funny fsmuld instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24802 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 23:14:30 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 10c6aed73c | Add FP +,-,*,/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24801 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 23:10:46 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 558bfe0cf5 | Give patterns to F3_3 instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24800 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 23:05:35 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | d19fc65345 | Implement 64-bit add/sub, make sure to receive and return 64-bit args with the right halves in the right regs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24799 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 22:55:57 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 7087e57872 | implement div and rem git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24798 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 22:39:19 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | ee3d5fba54 | implement MULHU/MULHS for 64-bit multiplies git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24797 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 22:30:00 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 37949f5c2b | Add patterns for multiply, simplify Y register handling stuff, add RDY instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24796 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 22:22:53 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 9034b883a4 | Make the addressing modes smarter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24795 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 21:25:27 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 87a63f812c | remove some unused instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24794 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 21:13:50 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 2cfdbb2716 | add andn/orn/xorn patterns.  This allows us to compile this: long %test(ubyte, short, long %X, long %Y) {
  %A = xor long %X, -1
  %B = and long %Y, %A
  ret long %B
}
to this:
test:
        save -96, %sp, %sp
        andn %i4, %i2, %i0
        andn %i5, %i3, %i1
        restore %g0, %g0, %g0
        retl
        nop
instead of this:
test:
        save -96, %sp, %sp
        xor %i2, -1, %l0
        xor %i3, -1, %l1
        and %i4, %l0, %i0
        and %i5, %l1, %i1
        restore %g0, %g0, %g0
        retl
        nop
The simpleisel emits:  :(
test:
        save -96, %sp, %sp
        or %g0, -1, %l0
        or %g0, -1, %l0
        or %g0, -1, %l0
        or %g0, -1, %l1
        xor %i2, %l0, %l0
        xor %i3, %l1, %l1
        and %i4, %l0, %i0
        and %i5, %l1, %i1
        restore %g0, %g0, %g0
        retl
        nop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24793 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 21:05:49 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 217aabf89e | Add support for 64-bit arguments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24792 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 20:59:06 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 9a60ff654a | Sparc doesn't have sext_inreg git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24791 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 20:50:42 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | 53ec2035eb | add patterns for FP stores git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24790 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 20:47:16 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | d55e1ca5ef | Add [reg+reg] integer stores git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24789 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 20:44:36 +00:00 |  | 
			
				
					| 
							
							
								 Chris Lattner | d30a630636 | Add store patterns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24788 91177308-0d34-0410-b5e6-96231b3b80d8 | 2005-12-17 20:42:55 +00:00 |  |