gcc/libgomp/testsuite/libgomp.hsa.c
Martin Jambor 191411e43a [PR 82416] Do not extend operands to at least 32 bits
2017-10-09  Martin Jambor  <mjambor@suse.cz>

	PR hsa/82416
gcc/
	* hsa-common.h (hsa_op_with_type): New method extend_int_to_32bit.
	* hsa-gen.c (hsa_extend_inttype_to_32bit): New function.
	(hsa_type_for_scalar_tree_type): Use it.  Always force min32int for
	COMPLEX types.
	(hsa_fixup_mov_insn_type): New function.
	(hsa_op_with_type::get_in_type): Use it.
	(hsa_build_append_simple_mov): Likewise.  Allow sub-32bit
	immediates in an assert.
	(hsa_op_with_type::extend_int_to_32bit): New method.
	(gen_hsa_insns_for_bitfield): Fixup instruction and intermediary
	types.  Convert to dest type if necessary.
	(gen_hsa_insns_for_bitfield_load): Fixup load type if necessary.
	(reg_for_gimple_ssa): Pass false as min32int to
	hsa_type_for_scalar_tree_type.
	(gen_hsa_addr): Fixup type when creating addresable temporary.
	(gen_hsa_cmp_insn_from_gimple): Extend operands if necessary.
	(gen_hsa_unary_operation): Extend operands and convert to dest type if
	necessary.  Call hsa_fixup_mov_insn_type.
	(gen_hsa_binary_operation): Changed operand types to hsa_op_with_type,
	extend operands and convert to dest type if necessary.
	(gen_hsa_insns_for_operation_assignment): Extend operands and convert
	to dest type if necessary.
	(set_output_in_type): Call hsa_fixup_mov_insn_type.  Just ude dest
	if conversion nt necessary and size matches.
	(gen_hsa_insns_for_load): Call hsa_fixup_mov_insn_type, convert
	to dest type if necessary.
	(gen_hsa_insns_for_store): Call hsa_fixup_mov_insn_type.
	(gen_hsa_insns_for_switch_stmt): Likewise. Also extend operands if
	necessary.
	(gen_hsa_clrsb): Likewise.
	(gen_hsa_ffs): Likewise.
	(gen_hsa_divmod): Extend operands and convert to dest type if
	necessary.
	(gen_hsa_atomic_for_builtin): Change type of op to hsa_op_with_type.

libgomp/
	* testsuite/libgomp.hsa.c/pr82416.c: New test.

From-SVN: r253538
2017-10-09 11:41:44 +02:00
..
alloca-1.c
bitfield-1.c
bits-insns.c backport: hsa-builtins.def: New file. 2016-11-23 15:51:02 +01:00
builtins-1.c
c.exp
complex-1.c
complex-align-2.c
formal-actual-args-1.c
function-call-1.c
get-level-1.c
gridify-1.c
gridify-2.c
gridify-3.c
gridify-4.c
memory-operations-1.c
pr69568.c
pr82416.c [PR 82416] Do not extend operands to at least 32 bits 2017-10-09 11:41:44 +02:00
rotate-1.c
switch-1.c
switch-branch-1.c
switch-sbr-2.c [hsa] Avoid segfault in hsa switch expansion 2016-05-23 13:45:13 +02:00
tiling-1.c backport: hsa-builtins.def: New file. 2016-11-23 15:51:02 +01:00
tiling-2.c backport: hsa-builtins.def: New file. 2016-11-23 15:51:02 +01:00