Commit Graph

24318 Commits

Author SHA1 Message Date
Andrew Lenharth
99c1942ba7 Handle some kernel code than ends in [0 x sbyte]. I think this is safe
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27672 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 19:31:49 +00:00
Reid Spencer
60d07eeffe Expand some code with temporary variables to rid ourselves of the warning
about "dereferencing type-punned pointer will break strict-aliasing rules"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27671 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 18:29:58 +00:00
Chris Lattner
463b4e5f4c Fix an incorrect prototype for this intrinsic, fixing
CFrontend/2003-08-18-SigSetJmp.c  with llvm-gcc3.  This is part of PR733.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27670 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 18:23:48 +00:00
Chris Lattner
3afb81e8f3 Try xfailing this
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27669 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 18:15:24 +00:00
Evan Cheng
2b21ac6d4c Doh. PANDrm, etc. are not commutable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27668 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 18:11:28 +00:00
Andrew Lenharth
ab04e8c5ee fix this for the more restrictive linkage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27667 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:52:32 +00:00
Chris Lattner
c74757eabb These tests are now xfailed for llvmgcc4. This is PR735, unlikely to be
resolved before 1.7 :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27666 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:35:36 +00:00
Chris Lattner
021696bd7f Only look at .ll files in this directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27665 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:32:53 +00:00
Chris Lattner
5be639eb18 This file is an invalid C file, test that it is properly rejected
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27664 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:32:03 +00:00
Chris Lattner
4d4f52221b Another case where a dead cast was causing the test to spuriously
fail with the new front-end.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27663 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:28:28 +00:00
Chris Lattner
412a0bf58d Don't get confused by dead casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27662 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:26:54 +00:00
Chris Lattner
d9498ebcc3 Fix an accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27661 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:21:49 +00:00
Chris Lattner
d8200069fa This test fails and I don't know why, xfail it until andrew gets a chance to
look at it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27660 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:19:34 +00:00
Chris Lattner
166effdc23 Oops, move misplaced test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27659 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:18:42 +00:00
Chris Lattner
e7997ad085 These are only XFAILs with llvmgcc3, they pass with llvmgcc4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27658 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:16:21 +00:00
Chris Lattner
a39d798e0a Force non-darwin targets to use a static relo model. This fixes PR734,
tested by CodeGen/Generic/vector.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27657 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:10:48 +00:00
Chris Lattner
8981f06a44 Add a run with an unusual target triple, revert the patch that sent output to
dev null as it broke the test and doesn't add anything.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27656 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 17:10:03 +00:00
Chris Lattner
0ad91f5160 Update a count, this test now passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27655 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 16:52:13 +00:00
Chris Lattner
ed93790517 add a note, move an altivec todo to the altivec list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27654 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 16:48:00 +00:00
Andrew Lenharth
61e99c9db8 linear -> constant time
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27652 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 13:43:31 +00:00
Reid Spencer
3758552428 Add the README files to the distribution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27651 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 06:39:24 +00:00
Reid Spencer
28421d0a80 Add missing things to the distribution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27650 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 06:27:20 +00:00
Reid Spencer
9b6e67e1ec Distribute the Stacker samples directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27648 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 06:16:37 +00:00
Evan Cheng
00586948aa psad, pmax, pmin intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27647 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 06:11:45 +00:00
Evan Cheng
82fad8ce4f pmin, pmax, and psad intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27646 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 06:09:41 +00:00
Evan Cheng
2f40b1b27e Various SSE2 packed integer intrinsics: pmulhuw, pavgw, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27645 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 05:24:54 +00:00
Evan Cheng
f99898453d X86 SSE2 supports v8i16 multiplication
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27644 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 05:10:25 +00:00
Evan Cheng
fc7c17abb5 Update
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27643 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 05:09:45 +00:00
Evan Cheng
9df21dc0d2 pmul*, pmadd*, and pavg* intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27642 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 05:09:06 +00:00
Chris Lattner
7f71e21972 one too many l's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27641 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 04:21:31 +00:00
Andrew Lenharth
63223c93d8 quick update
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27640 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 02:05:30 +00:00
Evan Cheng
49ac1bf1c4 padds{b|w}, paddus{b|w}, psubs{b|w}, psubus{b|w} intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27639 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 00:43:35 +00:00
Evan Cheng
a50a086341 Naming inconsistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27638 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-13 00:00:23 +00:00
Evan Cheng
d2a6d54f26 SSE / SSE2 conversion intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27637 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 23:42:44 +00:00
Reid Spencer
42aa3a59c9 Fix a typo in the name of a file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27636 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 23:15:10 +00:00
Tanya Lattner
9727555859 Added the ability to xfail based on llvmgcc version
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27635 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 21:57:40 +00:00
Evan Cheng
fc32dcbdda Update my credits. Can I add "Build breaker" to my entry?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27634 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 21:28:14 +00:00
Evan Cheng
2c3ae37213 All "integer" logical ops (pand, por, pxor) are now promoted to v2i64.
Clean up and fix various logical ops issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27633 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 21:21:57 +00:00
Evan Cheng
cc9876124e Promote vector AND, OR, and XOR
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27632 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 21:20:24 +00:00
Reid Spencer
67263ba611 Don't dump the llc assembly output to stdout.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27631 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 21:03:04 +00:00
Reid Spencer
536c006249 Make sure CVS versions of yacc and lex files get distributed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27630 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 20:57:05 +00:00
Reid Spencer
59524a5287 Distribute CVS versions of lex files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27629 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 20:56:12 +00:00
Reid Spencer
898f44b06a Distribute the lex/yacc files from the cvs version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27628 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 20:55:23 +00:00
Reid Spencer
db4f336165 Additional files to distribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27627 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 20:54:01 +00:00
Reid Spencer
0c82def715 Include the win32 and Xcode directories in the distribution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27626 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 20:53:14 +00:00
Reid Spencer
ad2072643a Get rid of a signed/unsigned compare warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27625 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 19:28:15 +00:00
Chris Lattner
ac225ca051 Add a new way to match vector constants, which make it easier to bang bits of
different types.

Codegen spltw(0x7FFFFFFF) and spltw(0x80000000) without a constant pool load,
implementing PowerPC/vec_constants.ll:test1.  This compiles:

typedef float vf __attribute__ ((vector_size (16)));
typedef int vi __attribute__ ((vector_size (16)));
void test(vi *P1, vi *P2, vf *P3) {
  *P1 &= (vi){0x80000000,0x80000000,0x80000000,0x80000000};
  *P2 &= (vi){0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF};
  *P3 = vec_abs((vector float)*P3);
}

to:

_test:
        mfspr r2, 256
        oris r6, r2, 49152
        mtspr 256, r6
        vspltisw v0, -1
        vslw v0, v0, v0
        lvx v1, 0, r3
        vand v1, v1, v0
        stvx v1, 0, r3
        lvx v1, 0, r4
        vandc v1, v1, v0
        stvx v1, 0, r4
        lvx v1, 0, r5
        vandc v0, v1, v0
        stvx v0, 0, r5
        mtspr 256, r2
        blr

instead of (with two constant pool entries):

_test:
        mfspr r2, 256
        oris r6, r2, 49152
        mtspr 256, r6
        li r6, lo16(LCPI1_0)
        lis r7, ha16(LCPI1_0)
        li r8, lo16(LCPI1_1)
        lis r9, ha16(LCPI1_1)
        lvx v0, r7, r6
        lvx v1, 0, r3
        vand v0, v1, v0
        stvx v0, 0, r3
        lvx v0, r9, r8
        lvx v1, 0, r4
        vand v1, v1, v0
        stvx v1, 0, r4
        lvx v1, 0, r5
        vand v0, v1, v0
        stvx v0, 0, r5
        mtspr 256, r2
        blr

GCC produces (with 2 cp entries):

_test:
        mfspr r0,256
        stw r0,-4(r1)
        oris r0,r0,0xc00c
        mtspr 256,r0
        lis r2,ha16(LC0)
        lis r9,ha16(LC1)
        la r2,lo16(LC0)(r2)
        lvx v0,0,r3
        lvx v1,0,r5
        la r9,lo16(LC1)(r9)
        lwz r12,-4(r1)
        lvx v12,0,r2
        lvx v13,0,r9
        vand v0,v0,v12
        stvx v0,0,r3
        vspltisw v0,-1
        vslw v12,v0,v0
        vandc v1,v1,v12
        stvx v1,0,r5
        lvx v0,0,r4
        vand v0,v0,v13
        stvx v0,0,r4
        mtspr 256,r12
        blr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27624 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 19:07:14 +00:00
Reid Spencer
d853fd6b6d Add the llvm-config directory to the EXTRA_DIST line so it gets distributed
even though its not being built currently. This prevents dist-check from
failing because configure can't find llvm-config.in.in


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27623 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 19:06:14 +00:00
Chris Lattner
324047847e new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27622 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 19:04:27 +00:00
Reid Spencer
bbd5e430f1 Make sure that the C Frontend's runtime library directory is included as
a -L option to gccld whenever we're building a bytecode module or archive.
This gets around the "Cannot find library 'crtend'" warning messages.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27621 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 18:21:35 +00:00