Daniel Jacobowitz
0c422e7433
neon-testgen.ml: Use dg-add-options arm_neon.
...
2010-05-24 Daniel Jacobowitz <dan@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
* doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
description. Add arm_neon_fp16_ok.
(Add Options): Add arm_neon and arm_neon_fp16.
gcc/testsuite/
* gcc.target/arm/neon/: Regenerated test cases.
* gcc.target/arm/neon/polytypes.c,
gcc.target/arm/neon-vmla-1.c, gcc.target/arm/neon-vmls-1.c,
gcc.target/arm/neon-cond-1.c, gcc.target/arm/neon/vfp-shift-a2t2.c,
gcc.target/arm/neon-thumb2-move.c, gcc.dg/torture/arm-fp16-ops-8.c,
gcc.dg/torture/arm-fp16-ops-7.c, g++.dg/ext/arm-fp16/arm-fp16-ops-7.C,
g++.dg/ext/arm-fp16/arm-fp16-ops-8.C, g++.dg/abi/mangle-neon.C: Use
dg-add-options arm_neon.
* gcc.target/arm/fp16-compile-vcvt.c, gcc.dg/torture/arm-fp16-ops-5.c,
gcc.dg/torture/arm-fp16-ops-6.c, g++.dg/ext/arm-fp16/arm-fp16-ops-5.C,
g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Use dg-add-options arm_neon_fp16
and arm_neon_fp16_ok.
* gcc.dg/vect/vect.exp, g++.dg/vect/vect.exp,
gfortran.dg/vect/vect.exp: Use add_options_for_arm_neon.
* lib/target-supports.exp (add_options_for_arm_neon): New.
(check_effective_target_arm_neon_ok_nocache): New, from
check_effective_target_arm_neon_ok. Check multiple possibilities.
(check_effective_target_arm_neon_ok): Use
check_effective_target_arm_neon_ok_nocache.
(add_options_for_arm_neon_fp16)
(check_effective_target_arm_neon_fp16_ok)
check_effective_target_arm_neon_fp16_ok_nocache): New.
(check_effective_target_arm_neon_hw): Use add_options_for_arm_neon.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r159794
2010-05-24 15:36:31 -04:00
Paul Brook
b748fbd6b9
gengtype-lex.l: Add HARD_REG_SET.
...
2010-05-25 Paul Brook <paul@codesourcery.com>
gcc/
* gengtype-lex.l: Add HARD_REG_SET.
* expr.c (expand_expr_real_1): Record writes to hard registers.
* function.c (rtl_data): Add asm_clobbers.
* ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
(ira_setup_eliminable_regset): Remove regs_asm_clobbered.
Use crtl->asm_clobbers.
gcc/testsuite/
* gcc.target/arm/frame-pointer-1.c: New test.
* gcc.target/i386/pr9771-1.c: Move code out of main to allow frame
pointer elimination.
From-SVN: r159776
2010-05-24 12:24:00 +00:00
Wei Guozhi
333b67a9f1
thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
...
* config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
* gcc.target/arm/pr42879.c: New testcase.
From-SVN: r159212
2010-05-10 07:26:04 +00:00
Bernd Schmidt
cb751cbd75
re PR target/40657 (allocate local variables with fewer instructions)
...
PR target/40657
* config/arm/arm.c (thumb1_extra_regs_pushed): New function.
(thumb1_expand_prologue, thumb1_output_function_prologue): Call it
here to determine which regs to push and how much stack to reserve.
PR target/40657
* gcc.target/arm/thumb-stackframe.c: New test.
From-SVN: r158771
2010-04-27 09:34:08 +00:00
Paolo Bonzini
910ed7dc70
combine.c (find_split_point): Add third argument.
...
2010-04-25 Paolo Bonzini <bonzini@gnu.org>
* combine.c (find_split_point): Add third argument. Use it
to find nested multiply-accumulate instructions. Adjust calls.
(try_combine): Adjust call to find_split_point.
testsuite:
2010-04-25 Paolo Bonzini <bonzini@gnu.org>
* gcc.target/arm/mla-1.c: New test.
From-SVN: r158698
2010-04-25 07:52:43 +00:00
Bernd Schmidt
9193b1b4cc
re PR middle-end/29274 (not using mulsidi3)
...
PR middle-end/29274
* gcc.target/arm/wmul-1.c: New test.
* gcc.target/arm/wmul-2.c: New test.
From-SVN: r158642
2010-04-22 11:25:44 +00:00
Bernd Schmidt
f0c6475aea
re PR target/40603 (unnecessary conversion from unsigned byte load to signed byte load)
...
PR target/40603
* config/arm/arm.md (cbranchqi4): New pattern.
* config/arm/predicates.md (const0_operand,
cbranchqi4_comparison_operator): New predicates.
PR target/40603
* gcc.target/arm/thumb-cbranchqi.c: New test.
From-SVN: r158407
2010-04-16 10:04:15 +00:00
Bernd Schmidt
6ea007e447
re PR target/41514 (redundant compare instruction of consecutive conditional branches)
...
PR target/41514
* config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
If the previous insn is a cbranchsi4_insn with the same arguments,
omit the compare instruction.
PR target/41514
gcc.target/arm/thumb-comparisons.c: New test.
From-SVN: r158404
2010-04-16 09:42:32 +00:00
Bernd Schmidt
31ce8a531c
re PR rtl-optimization/21803 ([ia64] gcc produces really odd predicated code)
...
gcc/
PR target/21803
* ifcvt.c (cond_exec_process_if_block): Look for identical sequences
at the start and end of the then/else blocks, and omit them from the
conversion.
* cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
argument; all callers changed. Pass zero to old_insns_match_p instead.
(flow_find_head_matching_sequence): New function.
(old_insns_match_p): Check REG_EH_REGION notes for calls.
* basic-block.h (flow_find_cross_jump,
flow_find_head_matching_sequence): Declare functions.
gcc/testsuite/
PR target/21803
* gcc.target/arm/pr42496.c: New test.
From-SVN: r158357
2010-04-14 20:42:02 +00:00
Bernd Schmidt
036efbf272
thumb-andsi.c: Correct dg-options and add dg-require-effective-target.
...
* gcc.target/arm/thumb-andsi.c: Correct dg-options and add
dg-require-effective-target.
From-SVN: r157583
2010-03-19 19:42:59 +00:00
Bernd Schmidt
c99102b8b4
re PR target/40697 (inefficient code to extract least bits from an integer value)
...
gcc/
PR target/40697
* optabs.c (avoid_expensive_constant): Use rtx_cost to find out
the cost of loading the constant rather than assuming
COSTS_N_INSNS (1).
* config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
outer code is AND, do the same tests as the andsi3 expander and
return COSTS_N_INSNS (1) if and is cheap.
testsuite/
PR target/40697
* gcc.target/arm/thumb-andsi.c: New test.
From-SVN: r157582
2010-03-19 18:41:22 +00:00
Bernd Schmidt
002b2dee5d
re PR rtl-optimization/42258 (redundant register move around mul instruction)
...
gcc/
PR rtl-optimization/42258
* ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
use that may match DEF.
testsuite/
PR rtl-optimization/42258
* gcc.target/arm/thumb1-mul-moves.c: New test.
From-SVN: r157581
2010-03-19 18:18:54 +00:00
Kaveh R. Ghazi
3119bda384
sibcall-1.c: Allow PLT to appear with pic code.
...
* gcc.target/arm/sibcall-1.c: Allow PLT to appear with pic code.
From-SVN: r157415
2010-03-13 01:27:06 +00:00
Ramana Radhakrishnan
b3d7e1910f
Fix target/38697
...
2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/38697
* config/arm/neon-testgen.m (emit_automatics): New parameter
features. Adjust for Fixed_return_reg feature.
(test_intrinsic): Call emit_automatics with new feature.
* config/arm/neon.ml: Update copyright years.
(features): New Fixed_return_reg feature.
(ops): Update feature for Vget_low.
2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/38697.
* gcc.target/arm/neon/vget_lowf32.c: Regenerate.
* gcc.target/arm/neon/vget_lowp16.c: Likewise.
* gcc.target/arm/neon/vget_lowp8.c: Likewise.
* gcc.target/arm/neon/vget_lows16.c: Likewise.
* gcc.target/arm/neon/vget_lows32.c: Likewise.
* gcc.target/arm/neon/vget_lows64.c: Likewise.
* gcc.target/arm/neon/vget_lows8.c: Likewise.
* gcc.target/arm/neon/vget_lowu16.c: Likewise.
* gcc.target/arm/neon/vget_lowu32.c: Likewise.
* gcc.target/arm/neon/vget_lowu64.c: Likewise.
* gcc.target/arm/neon/vget_lowu8.c: Likewise.
From-SVN: r156042
2010-01-19 14:21:14 +00:00
Julian Brown
0986ef456e
re PR target/40887 (GCC generates suboptimal code for indirect function calls on ARM)
...
Fix PR target/40887
2009-12-24 Julian Brown <julian@codesourcery.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/40887
* config/arm/arm.c (output_call_mem): Remove armv5 support.
* config/arm/arm.md (*call_mem): Disable for armv5. Add note.
(*call_value_mem): Likewise.
PR target/40887
* gcc.target/gcc.arm/pr40887.c: New test.
Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r155453
2009-12-24 10:46:00 +00:00
Ramana Radhakrishnan
83c3a2d826
re PR target/42093 (Compressed switch tables for Thumb2 have signed offsets)
...
Fix PR target/42093
2009-12-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/42093
* config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage
to TARGET_THUMB1.
(CASE_VECTOR_SHORTEN_MODE): Allow signed offsets
only for TARGET_THUMB1.
2009-12-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/42093
* gcc.target/arm/pr42093.c: New test.
From-SVN: r155428
2009-12-23 16:36:40 +00:00
Ramana Radhakrishnan
07422036e3
Pass floating point constant moves to integer registers
...
as mov immediates for Thumb1.
2009-12-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/40670
* config/arm/arm.md: Split for Thumb1 as well.
* gcc.target/arm/pr40670.c: New test.
From-SVN: r155427
2009-12-23 16:29:12 +00:00
Alexandre Oliva
00ee9f445b
re PR debug/41679 (internal compiler error: in loc_cmp, at var-tracking.c:2433)
...
PR debug/41679
* var-tracking.c (add_stores): Avoid value mode mismatch for
promoted declarations.
* gcc.target/arm/pr41679.c: New.
From-SVN: r155322
2009-12-17 20:30:58 +01:00
Richard Earnshaw
98aa3f36a7
pr40835.c: Require a thumb1 target, do not force -march=armv5e.
...
* gcc.target/arm/pr40835.c: Require a thumb1 target, do not force
-march=armv5e.
From-SVN: r154644
2009-11-25 10:33:40 +00:00
Daniel Jacobowitz
814a4c3b35
arm.c (neon_vdup_constant, [...]): New.
...
gcc/
* config/arm/arm.c (neon_vdup_constant, neon_make_constant): New.
(neon_expand_vector_init): Use them. Also handle non-constant
vectors with identical elements and vectors with only one
non-constant element.
(arm_print_operand): Handle 'y' modifier.
* config/arm/arm-protos.h (neon_make_constant): Declare.
* config/arm/neon.md (neon_vdup_n<mode>): Split into two
patterns. Use VX instead of VDQW for the first one. Allow
a VFP alternative and V32 modes for the second one.
* config/arm/neon.ml (shape_elt): Add Alternatives.
(ops): Use Alternatives for vdup lane instructions.
* config/arm/neon-testgen.ml (analyze_shape): Handle Alternatives.
* config/arm/vec-common.md (mov<mode>): Use neon_make_constant.
gcc/testsuite/
* gcc.target/arm/neon: Regenerate generated tests.
From-SVN: r154094
2009-11-11 14:23:03 +00:00
Richard Earnshaw
57f5eef091
[multiple changes]
...
2009-11-04 Richard Earnshaw <rearnsha@arm.com>
PR target/40835
* arm.md (peephole2 patterns for move and compare): New.
2009-11-04 Wei Guozhi <carrot@google.com>
PR target/40835
* gcc.target/arm/pr40835: New testcase.
From-SVN: r153895
2009-11-04 14:09:55 +00:00
Paolo Bonzini
c4bb78e9cd
re PR target/39715 ([cond-optab] extra sign extensions on Thumb)
...
2009-10-28 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/39715
* config/arm/arm.md (cstoresi4): Use gen_cstoresi_ltu_thumb1.
(gen_cstoresi_ltu_thumb1): New splitter.
2009-10-28 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/39715
* gcc.target/arm/thumb-ltu.c: New.
From-SVN: r153678
2009-10-28 16:44:08 +00:00
Paolo Bonzini
5d49d0ea6c
re PR target/39715 ([cond-optab] extra sign extensions on Thumb)
...
2009-10-28 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/39715
* combine.c (simplify_comparison): Use extensions to
widen comparisons. Try an ANDing first.
testsuite:
2009-10-28 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/39715
* gcc.target/arm/thumb-bitfld1.c: New.
From-SVN: r153651
2009-10-28 10:27:15 +00:00
Paolo Bonzini
582021baa7
re PR target/40741 (code size explosion for integer comparison)
...
2009-10-28 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/40741
* config/arm/arm.c (thumb1_rtx_costs): IOR or XOR with
a small constant is cheap.
* config/arm/arm.md (andsi3, iorsi3): Try to place the result of
force_reg on the LHS.
(xorsi3): Likewise, and split the XOR if the constant is complex
and not in Thumb mode.
2009-10-28 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/40741
* gcc.target/arm/thumb-branch1.c: New.
From-SVN: r153650
2009-10-28 10:17:29 +00:00
Joseph Myers
5728868b82
arm.c (output_move_neon): Use DImode in call to adjust_address.
...
* config/arm/arm.c (output_move_neon): Use DImode in call to
adjust_address.
testsuite:
* gcc.target/arm/neon-thumb2-move.c: New test.
From-SVN: r152977
2009-10-19 16:22:15 +01:00
Daniel Gutson
8cb32ff23b
neon.md (neon_vshll_n<mode>): Checking Bounds fixed.
...
2009-10-14 Daniel Gutson <dgutson@codesourcery.com>
gcc/
* config/arm/neon.md (neon_vshll_n<mode>): Checking Bounds
fixed.
gcc/testsuite/
* gcc.target/arm/neon/vfp-shift-a2t2.c: New test case.
From-SVN: r152777
2009-10-14 19:18:20 +00:00
Daniel Gutson
ca96ed43b2
arm.md (UNSPEC_RBIT): New constant.
...
2009-09-03 Daniel Gutson <dgutson@codesourcery.com>
* config/arm/arm.md (UNSPEC_RBIT): New constant.
(rbitsi2): New insn.
(ctzsi2): New expand.
* config/arm/arm.h (CTZ_DEFINED_VALUE_AT_ZERO): New macro.
testsuite/
* gcc.target/arm/ctz.c: New test case.
From-SVN: r151402
2009-09-04 02:52:08 +00:00
Ramana Radhakrishnan
3e2d9dcfa8
combine cmps with shifts
...
2009-08-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* gcc.target/arm/combine-cmp-shift.c: New test.
2009-08-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/arm.c (arm_select_cc_mode): Handle subreg.
From-SVN: r151050
2009-08-24 09:03:35 +00:00
Maciej W. Rozycki
5399093be2
* lib/target-supports.exp
...
(check_effective_target_arm_iwmmxt_ok): New procedure.
* gcc.target/arm/mmx-1.c: Only run if arm_iwmmxt_ok. Remove the
exclusions for -mfloat-abi=softfp and -mfloat-abi=hard.
From-SVN: r151003
2009-08-21 22:13:56 +00:00
Ramana Radhakrishnan
a552b644fb
Fix twolf ICE for ARM
...
2009-08-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Richard Earnshaw <richard.earnshaw@arm.com>
* config/arm/arm.c (arm_emit_movpair): Handle CONST_INT.
* config/arm/arm.md (*arm_movtas_ze): New pattern for
movt.
2009-08-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Richard Earnshaw <richard.earnshaw@arm.com>
* testsuite/gcc.target/arm/20090811-1.c: New test.
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r150953
2009-08-20 08:09:29 +00:00
Andrew Haley
97804369a9
synchronize.c: New file.
...
2009-08-11 Andrew Haley <aph@redhat.com>
* gcc.target/arm/synchronize.c: New file.
From-SVN: r150698
2009-08-12 15:55:19 +00:00
Richard Earnshaw
de2aa20e75
abitest.h: Allow the test function to have a PCS attribute.
...
* gcc.target/arm/abitest.h: Allow the test function to have a PCS
attribute.
* gcc.target/arm/vfp1[567].c: New tests.
From-SVN: r150536
2009-08-06 18:15:19 +00:00
Richard Earnshaw
390b17c28c
Merge ARM/hard_vfp_branch to trunk
...
From-SVN: r150525
2009-08-06 14:27:45 +00:00
Doug Kwan
ddead5badb
polytypes.c: Adjust test for new notes in warnings added in rev 141298.
...
2009-07-30 Doug Kwan <dougkwan@google.com>
* gcc.target/arm/neon/polytypes.c: Adjust test for new notes
in warnings added in rev 141298.
From-SVN: r150287
2009-07-31 00:17:46 +00:00
Ramana Radhakrishnan
ce41c38bfc
Fix PR 40482 2009-06-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
...
Fix PR 40482
2009-06-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/40482
* config/arm/arm.c (thumb_shiftable_const): Truncate val to
32 bits.
* config/arm/arm.md: Likewise.
2009-06-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/40482
* gcc.target/arm/pr40482.c: New test.
From-SVN: r148728
2009-06-19 21:22:44 +00:00
Sandra Loosemore
bdc4827b1c
arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
...
2009-06-18 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/arm/arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
(arm_scalar_mode_supported_p): New function.
gcc/testsuite/
* gcc.target/arm/fp16-compile-none-2.c: New.
* gcc.target/arm/fp16-compile-ieee-12.c: New.
* gcc.target/arm/fp16-compile-alt-12.c: New.
From-SVN: r148657
2009-06-18 08:33:27 -04:00
Sandra Loosemore
76d6502fc9
fp16-compile-alt-1.c: New.
...
2009-06-18 Sandra Loosemore <sandra@codesourcery.com>
gcc/testsuite/
* gcc.target/arm/fp16-compile-alt-1.c: New.
* gcc.target/arm/fp16-compile-alt-2.c: New.
* gcc.target/arm/fp16-compile-alt-3.c: New.
* gcc.target/arm/fp16-compile-alt-4.c: New.
* gcc.target/arm/fp16-compile-alt-5.c: New.
* gcc.target/arm/fp16-compile-alt-6.c: New.
* gcc.target/arm/fp16-compile-alt-7.c: New.
* gcc.target/arm/fp16-compile-alt-8.c: New.
* gcc.target/arm/fp16-compile-alt-9.c: New.
* gcc.target/arm/fp16-compile-alt-10.c: New.
* gcc.target/arm/fp16-compile-alt-11.c: New.
* gcc.target/arm/fp16-compile-ieee-1.c: New.
* gcc.target/arm/fp16-compile-ieee-2.c: New.
* gcc.target/arm/fp16-compile-ieee-3.c: New.
* gcc.target/arm/fp16-compile-ieee-4.c: New.
* gcc.target/arm/fp16-compile-ieee-5.c: New.
* gcc.target/arm/fp16-compile-ieee-6.c: New.
* gcc.target/arm/fp16-compile-ieee-7.c: New.
* gcc.target/arm/fp16-compile-ieee-8.c: New.
* gcc.target/arm/fp16-compile-ieee-9.c: New.
* gcc.target/arm/fp16-compile-ieee-10.c: New.
* gcc.target/arm/fp16-compile-ieee-11.c: New.
* gcc.target/arm/fp16-compile-none-1.c: New.
* gcc.target/arm/fp16-compile-exprtype.c: New.
* gcc.target/arm/fp16-compile-vcvt.c: New.
* gcc.target/arm/fp16-builtins-1.c: New.
* gcc.target/arm/fp16-rounding-alt-1.c: New.
* gcc.target/arm/fp16-rounding-ieee-1.c: New.
* gcc.target/arm/fp16-param-1.c: New.
* gcc.target/arm/fp16-return-1.c: New.
* gcc.target/arm/fp16-unprototyped-1.c: New.
* gcc.target/arm/fp16-unprototyped-2.c: New.
* gcc.target/arm/fp16-variadic-1.c: New.
* gcc.dg/torture/arm-fp16-compile-assign.c: New.
* gcc.dg/torture/arm-fp16-compile-convert.c: New.
* gcc.dg/torture/arm-fp16-int-convert-alt.c: New.
* gcc.dg/torture/arm-fp16-int-convert-ieee.c: New.
* gcc.dg/torture/arm-fp16-ops.h: New.
* gcc.dg/torture/arm-fp16-ops-1.c: New.
* gcc.dg/torture/arm-fp16-ops-2.c: New.
* gcc.dg/torture/arm-fp16-ops-3.c: New.
* gcc.dg/torture/arm-fp16-ops-4.c: New.
* gcc.dg/torture/arm-fp16-ops-5.c: New.
* gcc.dg/torture/arm-fp16-ops-6.c: New.
* gcc.dg/torture/arm-fp16-ops-7.c: New.
* gcc.dg/torture/arm-fp16-ops-8.c: New.
* g++.dg/ext/arm-fp16/fp16-overload-1.C: New.
* g++.dg/ext/arm-fp16/fp16-return-1.C: New.
* g++.dg/ext/arm-fp16/fp16-param-1.C: New.
* g++.dg/ext/arm-fp16/fp16-mangle-1.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops.h: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-1.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-2.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-7.C: New.
* g++.dg/ext/arm-fp16/arm-fp16-ops-8.C: New.
From-SVN: r148656
2009-06-18 08:30:19 -04:00
Nathan Froyd
d8259b07b0
tree.h (tree_base): Add packed_flag and user_align fields.
...
gcc/
* tree.h (tree_base): Add packed_flag and user_align fields.
Decrease size of spare field.
(TYPE_USER_ALIGN): Use user_align from tree_base.
(DECL_USER_ALIGN): Likewise.
(TYPE_PACKED): Use packed_flag from tree_base.
(DECL_PACKED): Likewise.
(tree_type): Delete packed_flag and user_align fields. Widen
precision field. Widen mode field and shuffle fields to align
mode on an 8-bit boundary.
(tree_decl_common): Delete decl_flag_1 and user_align fields.
Renumber decl_flag_* fields. Fix comments. Widen
decl_common_unused field.
(DECL_HAS_VALUE_EXPR_P): Adjust for renumbering of decl_flag_*
fields.
(DECL_EXTERNAL): Likewise.
(DECL_BIT_FIELD): Likewise.
(DECL_NONADDRESSABLE_P): Likewise.
(TYPE_DECL_SUPRESS_DEBUG): Likewise.
* config/arm/arm-modes.def (XImode): Make it an INT_MODE.
gcc/testsuite/
* gcc.target/arm/neon-modes-1.c: New test.
From-SVN: r148348
2009-06-10 16:31:29 +00:00
Mark Mitchell
7d31a807ce
thumb2.md: Add 16-bit multiply instructions.
...
* config/arm/thumb2.md: Add 16-bit multiply instructions.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_arm_thumb2_ok):
New function.
* gcc.target/arm/thumb2-mul-space.c: New file.
* gcc.target/arm/thumb2-mul-space-2.c: New file.
* gcc.target/arm/thumb2-mul-space-3.c: New file.
* gcc.target/arm/thumb2-mul-speed.c: New file.
From-SVN: r147812
2009-05-23 01:34:53 +00:00
Mark Mitchell
1ea9fe562c
neon.md (*mul<mode>3add<mode>_neon): New pattern.
...
* config/arm/neon.md (*mul<mode>3add<mode>_neon): New pattern.
(*mul<mode>3neg<mode>add<mode>_neon): Likewise.
* gcc.dg/target/arm/neon-vmla-1.c: New.
* gcc.dg/target/arm/neon-vmls-1.c: Likewise.
From-SVN: r147771
2009-05-21 16:53:48 +00:00
Nathan Froyd
e8a861bd07
20020118-1.c: Skip on vxworks targets.
...
2009-04-28 Nathan Froyd <froydnj@codesourcery.com>
Mark Mitchell <mark@codesourcery.com>
* gcc.target/powerpc/20020118-1.c: Skip on vxworks targets.
* gcc.dg/20020103-1.c: Check for __ppc.
* gcc.dg/asm-b.c: Check for __ppc.
* gcc.dg/20020919-1.c: Check for __ppc.
* gcc.dg/20020312-2.c: Likewise.
* gcc.dg/trampoline-1.c: Add appropriate NO_TRAMPOLINES #ifndefs.
* gcc.dg/torture/asm-subreg-1.c: Skip on sparc vxworks targets.
* gcc.dg/attr-weakref-1.c: Skip on selected vxworks targets.
* g++.dg/warn/weak1.C: Likewise.
* gcc.dg/tree-ssa/20030714-1.c (find_base_value): Declare as
static so appropriate optimizations kick in.
(find_base_value_wrapper): New function.
* g++.dg/eh/simd-5.C: Fix target triplet.
* gcc.target/arm/long-calls-1.c: Skip for -mlong-calls.
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r146876
2009-04-28 08:38:37 +00:00
Mark Mitchell
07d8efe385
arm.c (arm_builtin_va_list): New function.
...
2009-02-20 Mark Mitchell <mark@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* config/arm/arm.c (arm_builtin_va_list): New function.
(arm_expand_builtin_va_start): Likewise.
(arm_gimplify_va_arg_expr): Likewise.
(TARGET_BUILD_BUILTIN_VA_LIST): Define.
(TARGET_BUILD_BUILTIN_VA_START): Likewise.
(TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
(va_list_type): New variable.
(arm_mangle_type): Mangle va_list_type appropriately.
testsuite:
* gcc.target/arm/va_list.c: New test.
* g++.dg/abi/arm_va_list.C: Likewise.
* lib/target-supports.exp (check_effective_target_arm_eabi): New
function.
* g++.dg/cpp0x/temp-va-arg-bug.C, g++.dg/other/stdarg1.C,
g++.dg/warn/miss-format-1.C, g++.dg/warn/miss-format-3.C,
g++.dg/warn/miss-format-4.C, g++.dg/warn/miss-format-5.C,
g++.dg/warn/miss-format-6.C, g++.old-deja/g++.other/vaarg2.C,
g++.old-deja/g++.other/vaarg3.C, g++.old-deja/g++.other/vaarg4.C,
g++.old-deja/g++.pt/builtin.C: Use -Wno-abi on ARM EABI targets.
Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r144323
2009-02-20 15:19:38 +00:00
Paul Brook
7b7d60003f
Fix broken commit from r143594.
...
From-SVN: r143705
2009-01-27 16:14:13 +00:00
Mark Mitchell
670dc171dc
long-calls-1.c: Tolerate the lack of sibling calls and/or PLT markers.
...
* gcc.target/arm/long-calls-1.c: Tolerate the lack of sibling
calls and/or PLT markers.
* gcc.target/arm/long-calls-2.c: Tolerate the lack of sibling
calls and/or PLT markers.
* gcc.target/arm/long-calls-3.c: Tolerate the lack of sibling
calls and/or PLT markers.
* gcc.target/arm/long-calls-4.c: Tolerate the lack of sibling
calls and/or PLT markers.
From-SVN: r143381
2009-01-14 19:37:02 +00:00
Julian Brown
41d3c94943
2009-01-14 Julian Brown <julian@codesourcery.com>
...
* gcc.target/arm/eabi1.c (__eabi_uread4, __eabi_uwrite4)
(__eabi_uread8, __eabi_uwrite8): Change spellings of declarations
to...
(__aeabi_uread4, __aeabi_uwrite4, __aeabi_uread8, __aeabi_uwrite8):
These.
From-SVN: r143361
2009-01-14 01:44:39 +00:00
Uros Bizjak
025fa62ffc
pr36141.c: Move to ...
...
* gcc.c-torture/pr36141.c: Move to ...
* gcc.c-torture/compile/pr36141.c: ... here.
* gcc.dg/arm-g2.c: Move to ...
* gcc.target/arm/g2.c: ... here.
* gcc.dg/arm-vfp1.c: Move to ...
* gcc.target/arm/vfp1.c: ... here.
* gcc.dg/20031108-1: Move to ...
* gcc.target/arm/20031108-1.c: ... here.
* gcc.dg/20030909-1: Move to ...
* gcc.target/arm/20030909-1.c: ... here.
* gcc.dg/arm-mmx-1.c: Move to ...
* gcc.target/arm/mmx-1.c: ... here.
* gcc.dg/arm-scd[123].c: Move to ...
* gcc.target/arm/scd[123].c: ... here.
* gcc.dg/arm-asm.c: Move to ...
* gcc.target/arm/asm.c: ... here.
* gcc.dg/20080410-1: Move to ...
* gcc.target/sh/20080410-1.c: ... here.
* gcc.dg/globalreg-1.c: Move to ...
* gcc.target/sparc/globalreg-1.c: ... here.
From-SVN: r140340
2008-09-13 15:26:46 +02:00
Joseph Myers
658896fbb8
polytypes.c: Use dg-message separately from dg-error to match separate messages.
...
* gcc.target/arm/neon/polytypes.c: Use dg-message separately from
dg-error to match separate messages.
From-SVN: r137381
2008-07-02 20:35:08 +01:00
Paul Brook
007e61c28b
extend.texi: Clarify use of __attribute__((naked)).
...
gcc/
2008-05-23 Paul Brook <paul@codesourcery.com>
Carlos O'Donell <carlos@codesourcery.com>
* doc/extend.texi: Clarify use of __attribute__((naked)).
* doc/tm.texi: Document TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS.
* target.h (gcc_target): Add allocate_stack_slots_for_args.
* function.c (use_register_for_decl): Use
targetm.calls.allocate_stack_slots_for_args.
* target-def.h (TARGET_CALLS): Add
TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS.
* config/arm/arm.c (arm_allocate_stack_slots_for_args):
New function.
(TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Define.
gcc/testsuite/
2008-05-23 Paul Brook <paul@codesourcery.com>
Carlos O'Donell <carlos@codesourcery.com>
* gcc.target/arm/naked-1.c: New test.
* gcc.target/arm/naked-2.c: New test.
Co-Authored-By: Carlos O'Donell <carlos@codesourcery.com>
From-SVN: r135831
2008-05-23 20:36:57 +00:00
Uros Bizjak
f95ae12aa6
arm-eabi1.c, [...]: Move to gcc.target/arm directory.
...
* gcc.dg/arm-eabi1.c, gcc.dg/symbian1.c, cc.dg/symbian2.c,
gcc.dg/symbian3.c, gcc.dg/symbian4.c, gcc.dg/symbian5.c,
gcc.dg/20051215-1.c: Move to gcc.target/arm directory.
* gcc.dg/const-compare.c, gcc.dg/non-lazy-ptr-test.c,
gcc.dg/unsigned-long-compare.c, gcc.dg/rs6000-leaf.c: Move to
gcc.target/powerpc directory.
* gcc.dg/m68k-pic-1.c, gcc.dg/m68k-slp-ice.c: Move to
gcc.target/m68k directory.
* gcc.dg/i386-darwin-fpmath.c: Move to gcc.target/i386 directory.
* gcc.dg/cris-peep2-andu1.c, gcc.dg/cris-peep2-andu2.c,
gcc.dg/cris-peep2-xsrand.c, gcc.dg/cris-peep2-xsrand2.c: Move to
gcc.target/cris directory.
* gcc.dg/20020620-1.c: Move to gcc.target/mips directory.
* gcc.dg/bfin-longcall-1.c, gcc.dg/bfin-longcall-2.c: Move to
gcc.target/bfin directory.
* gcc.target/sh: New directory.
* gcc.target/sh/sh.exp: New file.
* gcc.dg/pr21255-1.c, gcc.dg/pr21255-2-mb.c, gcc.dg/pr21255-2-ml.c,
gcc.dg/pr21255-3.c, gcc.dg/pr21255-4.c, gcc.dg/sh4a-bitmovua.c,
gcc.dg/sh4a-cos.c, gcc.dg/sh4a-cosf.c, gcc.dg/sh4a-fprun.c,
gcc.dg/sh4a-fsrra.c, gcc.dg/sh4a-memmovua.c, gcc.dg/sh4a-sin.c,
gcc.dg/sh4a-sincosf.c, gcc.dg/sh4a-sinf.c gcc.dg/sh-relax.c,
gcc.dg/sh-relax-vxworks.c: Move to gcc.target/sh directory.
From-SVN: r127828
2007-08-27 10:47:33 +02:00
Nick Clifton
cd976c16a3
execute.exp: Change copyright header to refer to version 3 of the GNU General Public License...
...
* gcc.c-torture/execute/execute.exp: Change copyright header to refer to version
3 of the GNU General Public License and to point readers at the COPYING3 file
and the FSF's license web page.
* gcc.c-torture/execute/ieee/ieee.exp, gcc.c-torture/unsorted/unsorted.exp,
gcc.c-torture/compile/compile.exp, gcc.c-torture/compile/structs.c,
gcc.target/powerpc/powerpc.exp, gcc.target/arm/neon/neon.exp, gcc.target/arm/arm.exp,
gcc.target/cris/torture/cris-torture.exp, gcc.target/cris/cris.exp, gcc.target/ia64/ia64.exp,
gcc.target/alpha/alpha.exp, gcc.target/m68k/m68k.exp, gcc.target/spu/spu.exp, gcc.target/mips/mips.exp,
gcc.target/sparc/sparc.exp, gcc.target/i386/i386.exp, gcc.target/x86_64/abi/abi-x86_64.exp, gnat.dg/specs/specs.exp,
gnat.dg/dg.exp, gnat.dg/style/style.exp, gcc.dg/special/mips-abi.exp, gcc.dg/special/special.exp,
gcc.dg/pch/pch.exp, gcc.dg/vxworks/vxworks.exp, gcc.dg/dg.exp, gcc.dg/charset/charset.exp, gcc.dg/weak/weak.exp,
gcc.dg/tree-ssa/tree-ssa.exp, gcc.dg/tls/tls.exp, gcc.dg/cpp/cpp.exp, gcc.dg/cpp/trad/trad.exp,
gcc.dg/matrix/matrix.exp, gcc.dg/vmx/vmx.exp, gcc.dg/compat/struct-layout-1.exp, gcc.dg/compat/compat.exp,
gcc.dg/compat/struct-layout-1_generate.c, gcc.dg/debug/debug.exp, gcc.dg/debug/dwarf2/dwarf2.exp, gcc.dg/tree-prof/tree-prof.exp,
gcc.dg/ipa/ipa.exp, gcc.dg/dfp/dfp.exp, gcc.dg/noncompile/noncompile.exp,
gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp, gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp,
gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp, gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp,
gcc.dg/vect/vect.exp, gcc.dg/format/format.exp, gcc.misc-tests/i386-prefetch.exp, gcc.misc-tests/sort2.exp,
gcc.misc-tests/matrix1.exp, gcc.misc-tests/dectest.exp, gcc.misc-tests/options.exp, gcc.misc-tests/gcov.exp,
gcc.misc-tests/mg-2.exp, gcc.misc-tests/mg.exp, gcc.misc-tests/bprob.exp, gcc.misc-tests/acker1.exp,
gcc.misc-tests/dhry.exp, gcc.misc-tests/linkage.exp, gcc.misc-tests/arm-isr.exp, gcc.misc-tests/sieve.exp,
g++.old-deja/g++.niklas/README, g++.old-deja/g++.gb/README, g++.old-deja/old-deja.exp,
gfortran.fortran-torture/execute/execute.exp, gfortran.fortran-torture/compile/compile.exp,
treelang/output/output-1.c, treelang/output/output-1.tree, treelang/execute/execute.exp, treelang/Makefile.in,
treelang/compile/compile.exp, g++.dg/dg.exp, g++.dg/debug/debug.exp, g++.dg/debug/dwarf2/dwarf2.exp,
g++.dg/charset/charset.exp, g++.dg/vect/vect.exp, g++.dg/tls/tls.exp, g++.dg/tree-prof/tree-prof.exp,
g++.dg/pch/pch.exp, g++.dg/special/ecos.exp, g++.dg/compat/struct-layout-1.exp,
g++.dg/compat/struct-layout-1_generate.c, g++.dg/compat/compat.exp, g++.dg/gcov/gcov.exp,
g++.dg/bprob/bprob.exp, config/default.exp, gcc.test-framework/test-framework.awk,
gcc.test-framework/gen_directive_tests, gcc.test-framework/test-framework.exp,
objc.dg/special/special.exp, objc.dg/gnu-encoding/gnu-encoding.exp,
objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c, objc.dg/pch/pch.exp, objc.dg/dg.exp, lib/copy-file.exp,
lib/profopt.exp, lib/gcc.exp, lib/mike-g++.exp, lib/c-compat.exp, lib/scanrtl.exp, lib/gfortran-dg.exp, lib/g++.exp,
lib/obj-c++.exp, lib/wrapper.exp, lib/gnat-dg.exp, lib/compat.exp, lib/c-torture.exp, lib/gcc-dg.exp, lib/scanasm.exp, lib/gnat.exp,
lib/treelang-dg.exp, lib/prune.exp, lib/gcov.exp, lib/treelang.exp, lib/dg-pch.exp, lib/scantree.exp,
lib/g++-dg.exp, lib/objc-dg.exp, lib/file-format.exp, lib/target-libpath.exp, lib/obj-c++-dg.exp, lib/scandump.exp,
lib/target-supports-dg.exp, lib/gcc-defs.exp, lib/fortran-torture.exp, lib/objc.exp, lib/scanipa.exp,
lib/mike-gcc.exp, lib/objc-torture.exp, lib/gfortran.exp, lib/target-supports.exp, obj-c++.dg/dg.exp, gfortran.dg/dg.exp,
gfortran.dg/vect/vect.exp, objc/execute/execute.exp, objc/execute/exceptions/exceptions.exp,
objc/compile/compile.exp: Likewise.
From-SVN: r127127
2007-08-01 16:25:11 +00:00