- Jun 10, 2013
-
-
Ulrich Weigand authored
[PowerPC] Support extended sc mnemonic A plain "sc" without argument is supposed to be treated like "sc 0" by the assembler. This patch adds a corresponding alias. Problem reported by Joerg Sonnenberger. llvm-svn: 183687
-
Ulrich Weigand authored
[PowerPC] Support branch mnemonics with implied CR0 The extended branch mnemonics are supposed to use an implied CR0 if there is no explicit condition register specified. This patch adds extra variants of the mnemonics to this effect. Problem reported by Joerg Sonnenberger. llvm-svn: 183686
-
Ulrich Weigand authored
[PowerPC] Use multiclass to generate extended branch mnemonics This patch removes some redundancy by generating the extended branch mnemonics via a multiclass. No change in behaviour expected. llvm-svn: 183685
-
Aaron Ballman authored
llvm-svn: 183682
-
Amaury de la Vieuville authored
llvm-svn: 183657
-
Amaury de la Vieuville authored
ISB should only accepts full system sync, other options are reserved llvm-svn: 183656
-
Justin Holewinski authored
[NVPTX] Remove old CONST_NOT_GEN address space that is not being used anymore and causes constants to be emitted in the global address space llvm-svn: 183652
-
Reed Kotler authored
the Mips16 port. A few of the psuedos could either take signed or unsigned arguments and I did not distinguish the case and improperly rejected some valid cases that the assembler had previously accepted when they were pure pseudos that expanded as assembly instructions. llvm-svn: 183633
-
- Jun 09, 2013
-
-
Logan Chien authored
Changes to ARM unwind opcode assembler: * Fix multiple .save or .vsave directives. Besides, the order is preserved now. * For the directives which will generate multiple opcodes, such as ".save {r0-r11}", the order of the unwind opcode is fixed now, i.e. the registers with less encoding value are popped first. * Fix the $sp offset calculation. Now, we can use the .setfp, .pad, .save, and .vsave directives at any order. Changes to test cases: * Add test cases to check the order of multiple opcodes for the .save directive. * Fix the incorrect $sp offset in the test case. The stack pointer offset specified in the test case was incorrect. (Changed test cases: ehabi-mc-section.ll and ehabi-mc.ll) * The opcode to restore $sp are slightly reordered. The behavior are not changed, and the new output is same as the output of GNU as. (Changed test cases: eh-directive-pad.s and eh-directive-setfp.s) llvm-svn: 183627
-
Elena Demikhovsky authored
llvm-svn: 183626
-
JF Bastien authored
The register classes when emitting loads weren't quite restricting enough, leading to MI verification failure on the result register. These are new failures that weren't there the first time I tried enabling ARM FastISel for new targets. llvm-svn: 183624
-
- Jun 08, 2013
-
-
Venkatraman Govindaraju authored
llvm-svn: 183613
-
Amaury de la Vieuville authored
Enforce Table A7-15 (op=1, cmode=0b111) -> UNDEF llvm-svn: 183612
-
Amaury de la Vieuville authored
llvm-svn: 183611
-
Amaury de la Vieuville authored
Handle the case when the disassembler table can't tell the difference between some encodings of QADD and CPS. Add some necessary safe guards in CPS decoding as well. llvm-svn: 183610
-
Amaury de la Vieuville authored
UNPRED was reported instead of UNDEF llvm-svn: 183608
-
JF Bastien authored
llvm-svn: 183601
-
Akira Hatanaka authored
destination operands of an instruction. No functionality changes. llvm-svn: 183596
-
Vincent Lejeune authored
This is using a hint from AMD APP OpenCL Programming Guide with empirically tweaked parameters. I used Unigine Heaven 3.0 to determine best parameters on my system (i7 2600/Radeon 6950/Kernel 3.9.4) the benchmark : it went from 38.8 average fps to 39.6, which is ~3% gain. (Lightmark 2008.2 gain is much more marginal: from 537 to 539) There is no lit test provided as the parameter were determined empirically and it it would be nearly impossiblet to find a test program that check for optimal behavior. llvm-svn: 183593
-
Vincent Lejeune authored
llvm-svn: 183592
-
Jakob Stoklund Olesen authored
llvm-svn: 183589
-
Jakob Stoklund Olesen authored
llvm-svn: 183587
-
Hal Finkel authored
On PPC32, [su]div,rem on i64 types are transformed into runtime library function calls. As a result, they are not allowed in counter-based loops (the counter-loops verification pass caught this error; this change fixes PR16169). llvm-svn: 183581
-
- Jun 07, 2013
-
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183572
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183571
-
Bill Wendling authored
llvm-svn: 183570
-
Tom Stellard authored
We weren't computing structure size correctly and we were relying on the original alloca instruction to compute the offset, which isn't always reliable. Reviewed-by:
Vincent Lejeune <vljn@ovi.com> llvm-svn: 183568
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183567
-
Tom Stellard authored
This should simplify the subtarget definitions and make it easier to add new ones. Reviewed-by:
Vincent Lejeune <vljn@ovi.com> llvm-svn: 183566
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183565
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183561
-
Tom Stellard authored
Reviewed-by:
Vincent Lejeune <vljn@ovi.com> https://bugs.freedesktop.org/show_bug.cgi?id=64257 llvm-svn: 183560
-
Tom Stellard authored
This is the convention used by the other targets. Reviewed-by:
Vincent Lejeune <vljn@ovi.com> llvm-svn: 183559
-
Tom Stellard authored
Reviewed-by:
Vincent Lejeune <vljn@ovi.com> llvm-svn: 183558
-
JF Bastien authored
My recent ARM FastISel patch exposed this bug: http://llvm.org/bugs/show_bug.cgi?id=16178 The root cause is that it can't select integer sext/zext pre-ARMv6 and asserts out. The current integer sext/zext code doesn't handle other cases gracefully either, so this patch makes it handle all sext and zext from i1/i8/i16 to i8/i16/i32, with and without ARMv6, both in Thumb and ARM mode. This should fix the bug as well as make FastISel faster because it bails to SelectionDAG less often. See fastisel-ext.patch for this. fastisel-ext-tests.patch changes current tests to always use reg-imm AND for 8-bit zext instead of UXTB. This simplifies code since it is supported on ARMv4t and later, and at least on A15 both should perform exactly the same (both have exec 1 uop 1, type I). 2013-05-31-char-shift-crash.ll is a bitcode version of the above bug 16178 repro. fast-isel-ext.ll tests all sext/zext combinations that ARM FastISel should now handle. Note that my ARM FastISel enabling patch was reverted due to a separate failure when dealing with MCJIT, I'll fix this second failure and then turn FastISel on again for non-iOS ARM targets. I've tested "make check-all" on my x86 box, and "lnt test-suite" on A15 hardware. llvm-svn: 183551
-
Benjamin Kramer authored
Found be libstdc's debug mode. llvm-svn: 183549
-
Benjamin Kramer authored
llvm-svn: 183541
-
Roman Divacky authored
I am able to compile/assemble/link/run /bin/echo from FreeBSD. llvm-svn: 183537
-
Benjamin Kramer authored
As a bonus this reduces the loop from O(n^2) to O(n). llvm-svn: 183532
-
Vincent Lejeune authored
llvm-svn: 183528
-