llvm-6502/test
Chris Lattner 3bd39d4ca8 Implement some dag combines that allow doing fneg/fabs/fcopysign in integer
registers if used by a bitconvert or using a bitconvert.  This allows us to
avoid constant pool loads and use cheaper integer instructions when the
values come from or end up in integer regs anyway.  For example, we now 
compile CodeGen/X86/fp-in-intregs.ll to:

_test1:
	movl	$2147483648, %eax
	xorl	4(%esp), %eax
	ret
_test2:
	movl	$1065353216, %eax
	orl	4(%esp), %eax
	andl	$3212836864, %eax
	ret

Instead of:
_test1:
	movss	4(%esp), %xmm0
	xorps	LCPI2_0, %xmm0
	movd	%xmm0, %eax
	ret
_test2:
	movss	4(%esp), %xmm0
	andps	LCPI3_0, %xmm0
	movss	LCPI3_1, %xmm1
	andps	LCPI3_2, %xmm1
	orps	%xmm0, %xmm1
	movd	%xmm1, %eax
	ret

bitconverts can happen due to various calling conventions that require
fp values to passed in integer regs in some cases, e.g. when returning
a complex.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46414 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-27 17:42:27 +00:00
..
Analysis Teach basicaa that 'byval' arguments define a new memory location that 2008-01-24 18:00:32 +00:00
Archive
Assembler Two occurrences on one line count as one... 2008-01-11 21:46:24 +00:00
Bindings/Ocaml Another backwards compatibility fix. 2007-12-30 22:48:58 +00:00
Bitcode Bring back int_x86_sse2_movl_dq intrinsic for backward compatibility. Make sure 2007-12-17 22:33:23 +00:00
BugPoint
C++Frontend Test for PR1942. 2008-01-25 17:36:44 +00:00
CFrontend Move testcase to the code gen directory. 2008-01-26 06:53:06 +00:00
CodeGen Implement some dag combines that allow doing fneg/fabs/fcopysign in integer 2008-01-27 17:42:27 +00:00
DebugInfo
ExecutionEngine Teach the interpreter to read and write memory in the 2007-12-14 19:38:31 +00:00
Feature Use not instead of ignore when an exit status is expected to always 2007-12-11 15:50:23 +00:00
FrontendAda Testcase for gimplify_expr crash caused by an 2008-01-15 19:55:41 +00:00
FrontendObjC Rename these tests to use the appropriate suffixes. 2007-12-11 15:55:52 +00:00
Integer Fix PR1146: parameter attributes are longer part of 2007-11-27 13:23:08 +00:00
lib Fix bug in regression tests that ignored stderr output in RUN lines. Updated tests and fixed broken run lines. 2007-11-28 04:57:00 +00:00
Linker Use not instead of ignore when an exit status is expected to always 2007-12-11 15:50:23 +00:00
Other
Scripts
TableGen
Transforms The CorrelatedExpressions pass is now no more. 2008-01-27 06:13:32 +00:00
Verifier update this test to pass with duncan's change. 2008-01-22 05:31:58 +00:00
Makefile remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
Makefile.tests
TestRunner.sh