Commit 2f6c3c82 by Stuart Henderson

builtins: Created.

2011-05-03  Stuart Henderson  <shenders@gcc.gnu.org>

	* gcc.target/bfin/builtins: Created.
	* gcc.target/bfin/hisilh-O0.c: Deleted.
	* gcc.target/bfin/hisilh.c: Moved to...
	* gcc.target/bfin/builtins/hisilh.c: ...here.
	* gcc.target/bfin/builtins/shl_fr1x16-6.c: New test.
	* gcc.target/bfin/builtins/shr_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x32-9.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x32-4.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x32-8.c: Ditto.
	* gcc.target/bfin/builtins/lshl_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/abs_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/norm32-1.c: Ditto.
	* gcc.target/bfin/builtins/shrl_fr1x16-3.c: Ditto.
	* gcc.target/bfin/builtins/norm_fr1x32-2.c: Ditto.
	* gcc.target/bfin/builtins/bfin-builtins.exp: Ditto.
	* gcc.target/bfin/builtins/norm16-2.c: Ditto.
	* gcc.target/bfin/builtins/norm32-5.c: Ditto.
	* gcc.target/bfin/builtins/norm_fr1x16-3.c: Ditto.
	* gcc.target/bfin/builtins/mult_fr1x32x32-2.c: Ditto.
	* gcc.target/bfin/builtins/norm16-6.c: Ditto.
	* gcc.target/bfin/builtins/norm32-9.c: Ditto.
	* gcc.target/bfin/builtins/mult_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/dspsubaddsat_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/min_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/max_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/norm32-10.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr2x16-3.c: Ditto.
	* gcc.target/bfin/builtins/mulhisihh_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/diff_hl_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr2x16-7.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/mulhisilh_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/lshl_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/cpmlx_mul_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/negate_fr1x32-2.c: Ditto.
	* gcc.target/bfin/builtins/negate_fr1x16-3.c: Ditto.
	* gcc.target/bfin/builtins/abs_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shrl_fr2x16-4.c: Ditto.
	* gcc.target/bfin/builtins/mult_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/max_fr1x32-1.c: Ditto.
	* gcc.target/bfin/builtins/min_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x32-2.c: Ditto.
	* gcc.target/bfin/builtins/max_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x16-3.c: Ditto.
	* gcc.target/bfin/builtins/add_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x32-6.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x32-1.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x32.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x16-7.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x32-5.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x32-9.c: Ditto.
	* gcc.target/bfin/builtins/abs_fr1x32-1.c: Ditto.
	* gcc.target/bfin/builtins/lshl_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/abs_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/cpmlx_msu_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/norm32-2.c: Ditto.
	* gcc.target/bfin/builtins/shrl_fr1x16-4.c: Ditto.
	* gcc.target/bfin/builtins/norm16-3.c: Ditto.
	* gcc.target/bfin/builtins/norm32-6.c: Ditto.
	* gcc.target/bfin/builtins/norm16-7.c: Ditto.
	* gcc.target/bfin/builtins/mult_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/min_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/add_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/norm32-11.c: Ditto.
	* gcc.target/bfin/builtins/sub_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr2x16-4.c: Ditto.
	* gcc.target/bfin/builtins/mulhisihh_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/diff_lh_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr2x16-8.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr2x16-3.c: Ditto.
	* gcc.target/bfin/builtins/mulhisilh_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/lshl_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/cpmlx_mac_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shrl_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/mult_fr1x32-1.c: Ditto.
	* gcc.target/bfin/builtins/min_fr1x32-1.c: Ditto.
	* gcc.target/bfin/builtins/dspaddsubsat_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/mult_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/max_fr1x32-2.c: Ditto.
	* gcc.target/bfin/builtins/min_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x32.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x32-3.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x16-4.c: Ditto.
	* gcc.target/bfin/builtins/sub_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/add_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x32-7.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x32-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x16-8.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x16-3.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x32-6.c: Ditto.
	* gcc.target/bfin/builtins/circptr.c: Ditto.
	* gcc.target/bfin/builtins/negate_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/abs_fr1x32-2.c: Ditto.
	* gcc.target/bfin/builtins/multr_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/sum_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shrl_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/cpmlx_msu_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/norm32-3.c: Ditto.
	* gcc.target/bfin/builtins/norm_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/norm16-4.c: Ditto.
	* gcc.target/bfin/builtins/norm32-7.c: Ditto.
	* gcc.target/bfin/builtins/norm16-8.c: Ditto.
	* gcc.target/bfin/builtins/add_fr1x32-1.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/add_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr2x16-5.c: Ditto.
	* gcc.target/bfin/builtins/norm32-12.c: Ditto.
	* gcc.target/bfin/builtins/sub_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/diff_lh_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/mulhisihl_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr2x16-4.c: Ditto.
	* gcc.target/bfin/builtins/mulhisill_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/negate_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/multr_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/cpmlx_mac_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shrl_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/mult_fr1x32x32NS-1.c: Ditto.
	* gcc.target/bfin/builtins/mult_fr1x32-2.c: Ditto.
	* gcc.target/bfin/builtins/min_fr1x32-2.c: Ditto.
	* gcc.target/bfin/builtins/dspaddsubsat_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/sub_fr1x32-1.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x32-4.c: Ditto.
	* gcc.target/bfin/builtins/sub_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x16-5.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x32-8.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x32-3.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x16-4.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr1x32-7.c: Ditto.
	* gcc.target/bfin/builtins/negate_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/multr_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/sum_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shrl_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/norm_fr1x32-1.c: Ditto.
	* gcc.target/bfin/builtins/norm16-1.c: Ditto.
	* gcc.target/bfin/builtins/norm_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/mult_fr1x32x32-1.c: Ditto.
	* gcc.target/bfin/builtins/norm32-4.c: Ditto.
	* gcc.target/bfin/builtins/norm16-5.c: Ditto.
	* gcc.target/bfin/builtins/norm32-8.c: Ditto.
	* gcc.target/bfin/builtins/dspsubaddsat_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/max_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/add_fr1x32-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr2x16-6.c: Ditto.
	* gcc.target/bfin/builtins/diff_hl_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shr_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/mulhisihl_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/negate_fr1x32-1.c: Ditto.
	* gcc.target/bfin/builtins/cpmlx_mul_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/multr_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/mulhisill_fr2x16-2.c: Ditto.
	* gcc.target/bfin/builtins/negate_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/abs_fr2x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shrl_fr2x16-3.c: Ditto.
	* gcc.target/bfin/builtins/mult_fr1x32x32NS-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x32-1.c: Ditto.
	* gcc.target/bfin/builtins/max_fr1x16-1.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x16-2.c: Ditto.
	* gcc.target/bfin/builtins/sub_fr1x32-2.c: Ditto.
	* gcc.target/bfin/builtins/shl_fr1x32-5.c: Ditto.

From-SVN: r173322
parent 2c67cf6e
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
* gcc.target/bfin/builtins: Created.
* gcc.target/bfin/hisilh-O0.c: Deleted.
* gcc.target/bfin/hisilh.c: Moved to...
* gcc.target/bfin/builtins/hisilh.c: ...here.
* gcc.target/bfin/builtins/shl_fr1x16-6.c: New test.
* gcc.target/bfin/builtins/shr_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-9.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-4.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-8.c: Ditto.
* gcc.target/bfin/builtins/lshl_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/abs_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/norm32-1.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr1x16-3.c: Ditto.
* gcc.target/bfin/builtins/norm_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/bfin-builtins.exp: Ditto.
* gcc.target/bfin/builtins/norm16-2.c: Ditto.
* gcc.target/bfin/builtins/norm32-5.c: Ditto.
* gcc.target/bfin/builtins/norm_fr1x16-3.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32x32-2.c: Ditto.
* gcc.target/bfin/builtins/norm16-6.c: Ditto.
* gcc.target/bfin/builtins/norm32-9.c: Ditto.
* gcc.target/bfin/builtins/mult_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/dspsubaddsat_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/min_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/max_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/norm32-10.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-3.c: Ditto.
* gcc.target/bfin/builtins/mulhisihh_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/diff_hl_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-7.c: Ditto.
* gcc.target/bfin/builtins/shr_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/mulhisilh_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/lshl_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_mul_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/negate_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/negate_fr1x16-3.c: Ditto.
* gcc.target/bfin/builtins/abs_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr2x16-4.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/max_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/min_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/max_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-3.c: Ditto.
* gcc.target/bfin/builtins/add_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-6.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-7.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-5.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-9.c: Ditto.
* gcc.target/bfin/builtins/abs_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/lshl_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/abs_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_msu_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/norm32-2.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr1x16-4.c: Ditto.
* gcc.target/bfin/builtins/norm16-3.c: Ditto.
* gcc.target/bfin/builtins/norm32-6.c: Ditto.
* gcc.target/bfin/builtins/norm16-7.c: Ditto.
* gcc.target/bfin/builtins/mult_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/min_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/add_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/norm32-11.c: Ditto.
* gcc.target/bfin/builtins/sub_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-4.c: Ditto.
* gcc.target/bfin/builtins/mulhisihh_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/diff_lh_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-8.c: Ditto.
* gcc.target/bfin/builtins/shr_fr2x16-3.c: Ditto.
* gcc.target/bfin/builtins/mulhisilh_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/lshl_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_mac_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/min_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/dspaddsubsat_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/max_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/min_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-3.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-4.c: Ditto.
* gcc.target/bfin/builtins/sub_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/add_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-7.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-8.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x16-3.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-6.c: Ditto.
* gcc.target/bfin/builtins/circptr.c: Ditto.
* gcc.target/bfin/builtins/negate_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/abs_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/multr_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/sum_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_msu_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/norm32-3.c: Ditto.
* gcc.target/bfin/builtins/norm_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/norm16-4.c: Ditto.
* gcc.target/bfin/builtins/norm32-7.c: Ditto.
* gcc.target/bfin/builtins/norm16-8.c: Ditto.
* gcc.target/bfin/builtins/add_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/add_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-5.c: Ditto.
* gcc.target/bfin/builtins/norm32-12.c: Ditto.
* gcc.target/bfin/builtins/sub_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/diff_lh_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/mulhisihl_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shr_fr2x16-4.c: Ditto.
* gcc.target/bfin/builtins/mulhisill_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/negate_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/multr_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_mac_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32x32NS-1.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/min_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/dspaddsubsat_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/sub_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-4.c: Ditto.
* gcc.target/bfin/builtins/sub_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-5.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-8.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-3.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x16-4.c: Ditto.
* gcc.target/bfin/builtins/shr_fr1x32-7.c: Ditto.
* gcc.target/bfin/builtins/negate_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/multr_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/sum_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/norm_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/norm16-1.c: Ditto.
* gcc.target/bfin/builtins/norm_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32x32-1.c: Ditto.
* gcc.target/bfin/builtins/norm32-4.c: Ditto.
* gcc.target/bfin/builtins/norm16-5.c: Ditto.
* gcc.target/bfin/builtins/norm32-8.c: Ditto.
* gcc.target/bfin/builtins/dspsubaddsat_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/max_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/add_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr2x16-6.c: Ditto.
* gcc.target/bfin/builtins/diff_hl_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shr_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/mulhisihl_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/negate_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/cpmlx_mul_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/multr_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/mulhisill_fr2x16-2.c: Ditto.
* gcc.target/bfin/builtins/negate_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/abs_fr2x16-1.c: Ditto.
* gcc.target/bfin/builtins/shrl_fr2x16-3.c: Ditto.
* gcc.target/bfin/builtins/mult_fr1x32x32NS-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-1.c: Ditto.
* gcc.target/bfin/builtins/max_fr1x16-1.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x16-2.c: Ditto.
* gcc.target/bfin/builtins/sub_fr1x32-2.c: Ditto.
* gcc.target/bfin/builtins/shl_fr1x32-5.c: Ditto.
2011-05-03 Bernd Schmidt <bernds@codesourcery.com>
* gcc.target/arm/cold-lc.c: New test.
......
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_abs_fr1x16 (0x7777);
if (t1 != 0x7777)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_abs_fr1x16 (0x8000);
if (t1 != 0x7fff)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_abs_fr1x32 (0x77777777);
if (t != 0x77777777)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_abs_fr1x32 (0x80000000);
if (t != 0x7fffffff)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5fff, 0xffff);
t = __builtin_bfin_abs_fr2x16 (a);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x5fff || t2 != 0x1)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x1001, 0x0001);
t = __builtin_bfin_abs_fr2x16 (a);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x1001 || t2 != 0x0001)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_add_fr1x16 (0x3000, 0x2000);
if (t1 != 0x5000)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_add_fr1x16 (0x3000, 0xd000);
if (t1 != 0x0)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_add_fr1x32 (0x40003000, 0x50002000);
if (t != 0x7fffffff)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_add_fr1x32 (0x40003000, 0xc000d000);
if (t != 0x00010000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x4000, 0x2000);
b = __builtin_bfin_compose_2x16 (0x8000, 0x5000);
t = __builtin_bfin_add_fr2x16 (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xffffc000 || t2 != 0x7000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x7000, 0xc000);
b = __builtin_bfin_compose_2x16 (0x8000, 0xc000);
t = __builtin_bfin_add_fr2x16 (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xfffff000 || t2 != 0xffff8000)
abort ();
return 0;
}
# Copyright (C) 2009 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
# GCC testsuite that uses the `c-torture.exp' driver, looping over
# optimization options.
load_lib c-torture.exp
load_lib target-supports.exp
load_lib torture-options.exp
if { ![istarget bfin-*-*] } then {
return
}
torture-init
set-torture-options [list {} -Os -O0 -O1 -O2 -O3 {-ffast-math -mfast-fp -O2} {-mfast-fp -O2} {-ffast-math -O2}]
set additional_flags "-W -Wall"
foreach src [lsort [find $srcdir/$subdir *.c]] {
if {[runtest_file_p $runtests $src]} {
c-torture-execute [list $src] $additional_flags
}
}
torture-finish
#include <stdlib.h>
int t[] = { 1, 2, 3, 4, 5, 6, 7 };
int expect[] = { 1, 3, 6, 10, 15, 21, 28, 29, 31, 34, 38, 43, 49, 56 };
int foo (int n)
{
int *p = t;
int sum = 0;
int i;
for (i = 0; i < n; i++) {
sum += *p;
p = __builtin_bfin_circptr (p, sizeof *p, t, sizeof t);
}
return sum;
}
int main ()
{
int i;
int *p = expect;
for (i = 0; i < 14; i++) {
int sum = foo (i + 1);
if (sum != *p)
abort ();
p = __builtin_bfin_circptr (p, sizeof *p, expect, sizeof expect);
}
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, c, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x2000, 0x1000);
b = __builtin_bfin_compose_2x16 (0x2000, 0x1000);
c = __builtin_bfin_compose_2x16 (0x2000, 0x1000);
t = __builtin_bfin_cmplx_mac (a, b, c);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x2800 || t2 != 0x0a00)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, c, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x2000, 0x1000);
b = __builtin_bfin_compose_2x16 (0xb000, 0xe000);
c = __builtin_bfin_compose_2x16 (0xa000, 0x8000);
t = __builtin_bfin_cmplx_mac (a, b, c);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x7fff || t2 != 0xfffff400)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, c, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x0000, 0x0000);
b = __builtin_bfin_compose_2x16 (0x2000, 0x1000);
c = __builtin_bfin_compose_2x16 (0x2000, 0x1000);
t = __builtin_bfin_cmplx_msu (a, b, c);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xfffff800 || t2 != 0x600)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, c, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x2000, 0x1000);
b = __builtin_bfin_compose_2x16 (0xb000, 0xe000);
c = __builtin_bfin_compose_2x16 (0xa000, 0x8000);
t = __builtin_bfin_cmplx_msu (a, b, c);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xffffb800 || t2 != 0x2c00)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x2000, 0x1000);
b = __builtin_bfin_compose_2x16 (0x2000, 0x1000);
t = __builtin_bfin_cmplx_mul (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x800 || t2 != 0xfffffa00)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0xa000, 0x8000);
b = __builtin_bfin_compose_2x16 (0xb000, 0xe000);
t = __builtin_bfin_cmplx_mul (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x6800 || t2 != 0xffffe400)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a;
fract16 t;
a = __builtin_bfin_compose_2x16 (0x5fff, 0xffff);
t = __builtin_bfin_diff_hl_fr2x16 (a);
if (t != 0x6000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a;
fract16 t;
a = __builtin_bfin_compose_2x16 (0x1001, 0x0001);
t = __builtin_bfin_diff_hl_fr2x16 (a);
if (t != 0x1000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a;
fract16 t;
a = __builtin_bfin_compose_2x16 (0x5fff, 0xffff);
t = __builtin_bfin_diff_lh_fr2x16 (a);
if (t != 0xffffa000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a;
fract16 t;
a = __builtin_bfin_compose_2x16 (0x1001, 0x0001);
t = __builtin_bfin_diff_lh_fr2x16 (a);
if (t != -0x1000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5000, 0x3000);
b = __builtin_bfin_compose_2x16 (0x4000, 0x2000);
t = __builtin_bfin_dspaddsubsat (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x7fff || t2 != 0x1000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0xd000, 0x8000);
b = __builtin_bfin_compose_2x16 (0x1000, 0x5000);
t = __builtin_bfin_dspaddsubsat (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xffffe000 || t2 != 0xffff8000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5000, 0x3000);
b = __builtin_bfin_compose_2x16 (0x6000, 0x6000);
t = __builtin_bfin_dspsubaddsat (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != -0x1000 || t2 != 0x7fff)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0xd000, 0xa000);
b = __builtin_bfin_compose_2x16 (0x1000, 0xc000);
t = __builtin_bfin_dspsubaddsat (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xffffc000 || t2 != 0xffff8000)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_lshl_fr1x16 (0x1101, 4);
if (t1 != 0x1010)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_lshl_fr1x16 (0x4004, -4);
if (t1 != 0x0400)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0xcfff, 0xffff);
t = __builtin_bfin_lshl_fr2x16 (a, 4);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xfffffff0 || t2 != 0xfffffff0)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0xcfff, 0xffff);
t = __builtin_bfin_lshl_fr2x16 (a, -4);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x0cff || t2 != 0x0fff)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_max_fr1x16 (0x7777, 0x7000);
if (t1 != 0x7777)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_max_fr1x16 (0x8000, 0xc000);
if (t1 != -0x4000)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_max_fr1x32 (0x77777777, 0x70007000);
if (t != 0x77777777)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_max_fr1x32 (0x80000000, 0xc0000000);
if (t != 0xc0000000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5fff, 0xffff);
b = __builtin_bfin_compose_2x16 (0x1001, 0x0001);
t = __builtin_bfin_max_fr2x16 (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x5fff || t2 != 0x0001)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5000, 0xd000);
b = __builtin_bfin_compose_2x16 (0xc000, 0x2000);
t = __builtin_bfin_max_fr2x16 (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x5000 || t2 != 0x2000)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_min_fr1x16 (0x7777, 0x7000);
if (t1 != 0x7000)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_min_fr1x16 (0x7000, 0xc001);
if (t1 != -0x3fff)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_min_fr1x32 (0x77777777, 0x70007000);
if (t != 0x70007000)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_min_fr1x32 (0x70007000, 0xc000c000);
if (t != 0xc000c000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5fff, 0xffff);
b = __builtin_bfin_compose_2x16 (0x1001, 0x0001);
t = __builtin_bfin_min_fr2x16 (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x1001 || t2 != 0xffffffff)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5000, 0xd000);
b = __builtin_bfin_compose_2x16 (0xc000, 0x2000);
t = __builtin_bfin_min_fr2x16 (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xffffc000 || t2 != 0xffffd000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b;
int t;
a = __builtin_bfin_compose_2x16 (0x5000, 0x7000);
b = __builtin_bfin_compose_2x16 (0x4000, 0x2000);
t = __builtin_bfin_mulhisihh (a, b);
if (t != 0x14000000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b;
int t;
a = __builtin_bfin_compose_2x16 (0xc000, 0xa000);
b = __builtin_bfin_compose_2x16 (0x7000, 0x2000);
t = __builtin_bfin_mulhisihh (a, b);
if (t != 0xe4000000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b;
int t;
a = __builtin_bfin_compose_2x16 (0x5000, 0x7000);
b = __builtin_bfin_compose_2x16 (0x4000, 0x2000);
t = __builtin_bfin_mulhisihl (a, b);
if (t != 0xa000000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b;
int t;
a = __builtin_bfin_compose_2x16 (0xa000, 0x7000);
b = __builtin_bfin_compose_2x16 (0xe000, 0x5000);
t = __builtin_bfin_mulhisihl (a, b);
if (t != 0xe2000000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b;
int t;
a = __builtin_bfin_compose_2x16 (0x5000, 0x7000);
b = __builtin_bfin_compose_2x16 (0x4000, 0x2000);
t = __builtin_bfin_mulhisilh (a, b);
if (t != 0x1c000000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b;
int t;
a = __builtin_bfin_compose_2x16 (0x5000, 0x7000);
b = __builtin_bfin_compose_2x16 (0xa000, 0x5000);
t = __builtin_bfin_mulhisilh (a, b);
if (t != 0xd6000000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b;
int t;
a = __builtin_bfin_compose_2x16 (0x5000, 0x7000);
b = __builtin_bfin_compose_2x16 (0x4000, 0x2000);
t = __builtin_bfin_mulhisill (a, b);
if (t != 0xe000000)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b;
int t;
a = __builtin_bfin_compose_2x16 (0x5000, 0xa000);
b = __builtin_bfin_compose_2x16 (0x4000, 0x2000);
t = __builtin_bfin_mulhisill (a, b);
if (t != 0xf4000000)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_mult_fr1x16 (0x7777, 0x0007);
if (t1 != 0x0006)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_mult_fr1x16 (0x0002, 0x0001);
if (t1 != 0x0)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_mult_fr1x32 (0x7777, 0x0001);
if (t != 0x0000eeee)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_mult_fr1x32 (0x0002, 0x0001);
if (t != 0x0004)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_mult_fr1x32x32 (0x80000000, 0x80000000);
if (t != 0x7fffffff)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_mult_fr1x32x32 (0x7fff0000, 0x00000007);
if (t != 0x6)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_mult_fr1x32x32NS (0x80000000, 0x80000000);
if (t != 0x7fffffff)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_mult_fr1x32x32NS (0x7fff0000, 0x00000007);
if (t != 0x6)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5fff, 0xffff);
b = __builtin_bfin_compose_2x16 (0x1001, 0x0001);
t = __builtin_bfin_mult_fr2x16 (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0x0c00 || t2 != 0xffffffff)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5000, 0xd000);
b = __builtin_bfin_compose_2x16 (0xc000, 0x2000);
t = __builtin_bfin_mult_fr2x16 (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xffffd800 || t2 != 0xfffff400)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_multr_fr1x16 (0x7777, 0x0007);
if (t1 != 0x0007)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_multr_fr1x16 (0x0002, 0x0001);
if (t1 != 0x0)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5fff, 0xffff);
b = __builtin_bfin_compose_2x16 (0x1001, 0x0001);
t = __builtin_bfin_multr_fr2x16 (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xc01 || t2 != 0x0)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, b, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5000, 0xd000);
b = __builtin_bfin_compose_2x16 (0xc000, 0x2000);
t = __builtin_bfin_multr_fr2x16 (a, b);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != 0xffffd800 || t2 != 0xfffff400)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_negate_fr1x16 (0x7fff);
if (t1 != -0x7fff)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_negate_fr1x16 (0x8000);
if (t1 != 0x7fff)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
fract16 t1;
t1 = __builtin_bfin_negate_fr1x16 (0xc000);
if (t1 != 0x4000)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_negate_fr1x32 (0x7fffffff);
if (t != -0x7fffffff)
abort ();
return 0;
}
extern void abort (void);
typedef long fract32;
int main ()
{
fract32 t;
t = __builtin_bfin_negate_fr1x32 (0x80000000);
if (t != 0x7fffffff)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x5fff, 0xffff);
t = __builtin_bfin_negate_fr2x16 (a);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != -0x5fff || t2 != 0x1)
abort ();
return 0;
}
extern void abort (void);
typedef short __v2hi __attribute ((vector_size(4)));
typedef __v2hi fract2x16;
typedef short fract16;
int main ()
{
fract2x16 a, t;
fract16 t1, t2;
a = __builtin_bfin_compose_2x16 (0x1001, 0x0001);
t = __builtin_bfin_negate_fr2x16 (a);
t1 = __builtin_bfin_extract_hi (t);
t2 = __builtin_bfin_extract_lo (t);
if (t1 != -0x1001 || t2 != -0x1)
abort ();
return 0;
}
extern void abort (void);
extern void exit (int);
int main ()
{
int a;
a = __builtin_bfin_norm_fr1x16 (0x1234);
if (a != 2)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
typedef short fract16;
int main ()
{
fract16 f = 0x1234, g;
int a;
a = __builtin_bfin_norm_fr1x16 (f);
g = f << a;
if (g != (fract16) 0x48d0)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
int main ()
{
int a;
a = __builtin_bfin_norm_fr1x16 (0xfedc);
if (a != 6)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
typedef short fract16;
int main ()
{
fract16 f = 0xfedc, g;
int a;
a = __builtin_bfin_norm_fr1x16 (f);
g = f << a;
if (g != (fract16) 0xb700)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
int main ()
{
int a;
a = __builtin_bfin_norm_fr1x16 (0);
if (a != 15)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
typedef short fract16;
int main ()
{
fract16 f = 0, g;
int a;
a = __builtin_bfin_norm_fr1x16 (f);
g = f << a;
if (g != (fract16) 0)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
int main ()
{
int a;
a = __builtin_bfin_norm_fr1x16 (0xffff);
if (a != 15)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
typedef short fract16;
int main ()
{
fract16 f = 0xffff, g;
int a;
a = __builtin_bfin_norm_fr1x16 (f);
g = f << a;
if (g != (fract16) 0x8000)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
int main ()
{
int a;
a = __builtin_bfin_norm_fr1x32 (0x12345678);
if (a != 2)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
typedef int fract32;
int main ()
{
fract32 f = 0x1234, g;
int a;
a = __builtin_bfin_norm_fr1x32 (f);
g = f << a;
if (g != 0x48d00000)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
int main ()
{
int a;
a = __builtin_bfin_norm_fr1x32 (0xfffffedc);
if (a != 22)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
typedef int fract32;
int main ()
{
fract32 f = 0xfffffedc, g;
int a;
a = __builtin_bfin_norm_fr1x32 (f);
g = f << a;
if (g != 0xb7000000)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
typedef int fract32;
int main ()
{
fract32 f = 0x12345678, g;
int a;
a = __builtin_bfin_norm_fr1x32 (f);
g = f << a;
if (g != 0x48d159e0)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
int main ()
{
int a;
a = __builtin_bfin_norm_fr1x32 (0xfedcba98);
if (a != 6)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
typedef int fract32;
int main ()
{
fract32 f = 0xfedcba98, g;
int a;
a = __builtin_bfin_norm_fr1x32 (f);
g = f << a;
if (g != 0xb72ea600)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
int main ()
{
int a;
a = __builtin_bfin_norm_fr1x32 (0);
if (a != 31)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
typedef int fract32;
int main ()
{
fract32 f = 0, g;
int a;
a = __builtin_bfin_norm_fr1x32 (f);
g = f << a;
if (g != 0)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
int main ()
{
int a;
a = __builtin_bfin_norm_fr1x32 (0xffffffff);
if (a != 31)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
typedef int fract32;
int main ()
{
fract32 f = 0xffffffff, g;
int a;
a = __builtin_bfin_norm_fr1x32 (f);
g = f << a;
if (g != 0x80000000)
abort ();
exit (0);
}
extern void abort (void);
extern void exit (int);
int main ()
{
int a;
a = __builtin_bfin_norm_fr1x32 (0x1234);
if (a != 18)
abort ();
exit (0);
}
extern void abort (void);
typedef short fract16;
int main ()
{
int m;
m = __builtin_bfin_norm_fr1x16 (0x1000);
if (m != 2)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
int m;
m = __builtin_bfin_norm_fr1x16 (0x4000);
if (m != 0)
abort ();
return 0;
}
extern void abort (void);
typedef short fract16;
int main ()
{
int m;
m = __builtin_bfin_norm_fr1x16 (0xe000);
if (m != 2)
abort ();
return 0;
}
extern void abort (void);
int main ()
{
int m;
m = __builtin_bfin_norm_fr1x32 (0xefffeff1);
if (m != 2)
abort ();
return 0;
}
extern void abort (void);
int main ()
{
int m;
m = __builtin_bfin_norm_fr1x32 (0x0000eff1);
if (m != 15)
abort ();
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment