Commit 1e0890ae by Jan Hubicka Committed by Jan Hubicka

vect-reduc-dot-s16b.c: Mark functions noinline.


	* gcc.dg/vect/vect-reduc-dot-s16b.c: Mark functions noinline.
	* gcc.dg/vect/vect-105.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-6.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-53.c: Mark functions noinline.
	* gcc.dg/vect/wrapv-vect-reduc-2short.c: Mark functions noinline.
	* gcc.dg/vect/fast-math-vect-pr29925.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-dot-u8a.c: Mark functions noinline.
	* gcc.dg/vect/vect-iv-7.c: Mark functions noinline.
	* gcc.dg/vect/vect-50.c: Mark functions noinline.
	* gcc.dg/vect/vect-33.c: Mark functions noinline.
	* gcc.dg/vect/vect-16.c: Mark functions noinline.
	* gcc.dg/vect/vect-widen-mult-sum.c: Mark functions noinline.
	* gcc.dg/vect/vect-float-extend-1.c: Mark functions noinline.
	* gcc.dg/vect/vect-92.c: Mark functions noinline.
	* gcc.dg/vect/vect-75.c: Mark functions noinline.
	* gcc.dg/vect/vect-58.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-2b.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-4.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-7.c: Mark functions noinline.
	* gcc.dg/vect/no-section-anchors-vect-69.c: Mark functions noinline.
	* gcc.dg/vect/vect-114.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-4g.c: Mark functions noinline.
	* gcc.dg/vect/vect-8.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-vect-iv-1.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-10.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-45.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-10a.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-5.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-18.c: Mark functions noinline.
	* gcc.dg/vect/vect-42.c: Mark functions noinline.
	* gcc.dg/vect/vect-25.c: Mark functions noinline.
	* gcc.dg/vect/vect-vfa-01.c: Mark functions noinline.
	* gcc.dg/vect/vect-67.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-3a.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-a-u16-mult.c: Mark functions noinline.
	* gcc.dg/vect/vect-106.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-7.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-37.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-2short.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-dot-u8b.c: Mark functions noinline.
	* gcc.dg/vect/vect-iv-8.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-79.c: Mark functions noinline.
	* gcc.dg/vect/vect-34.c: Mark functions noinline.
	* gcc.dg/vect/vect-17.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-102a.c: Mark functions noinline.
	* gcc.dg/vect/vect-align-1.c: Mark functions noinline.
	* gcc.dg/vect/vect-93.c: Mark functions noinline.
	* gcc.dg/vect/vect-widen-mult-s16.c: Mark functions noinline.
	* gcc.dg/vect/vect-76.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-a-u16-i2.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-2c.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-5.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-8.c: Mark functions noinline.
	* gcc.dg/vect/vect-115.c: Mark functions noinline.
	* gcc.dg/vect/vect-9.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-vect-iv-2.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-pattern-1a.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-11.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-10b.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u32-i4.c: Mark functions noinline.
	* gcc.dg/vect/vect-widen-mult-u8.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-6.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-19.c: Mark functions noinline.
	* gcc.dg/vect/vect-60.c: Mark functions noinline.
	* gcc.dg/vect/vect-26.c: Mark functions noinline.
	* gcc.dg/vect/vect-vfa-02.c: Mark functions noinline.
	* gcc.dg/vect/vect-85.c: Mark functions noinline.
	* gcc.dg/vect/vect-68.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-3b.c: Mark functions noinline.
	* gcc.dg/vect/vect-floatint-conversion-1.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-8.c: Mark functions noinline.
	* gcc.dg/vect/vect-107.c: Mark functions noinline.
	* gcc.dg/vect/vect-iv-1.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-20.c: Mark functions noinline.
	* gcc.dg/vect/vect-iv-9.c: Mark functions noinline.
	* gcc.dg/vect/vect-52.c: Mark functions noinline.
	* gcc.dg/vect/vect-35.c: Mark functions noinline.
	* gcc.dg/vect/vect-18.c: Mark functions noinline.
	* gcc.dg/vect/vect-align-2.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-1.c: Mark functions noinline.
	* gcc.dg/vect/vect-77.c: Mark functions noinline.
	* gcc.dg/vect/vect-2.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-2d.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-6.c: Mark functions noinline.
	* gcc.dg/vect/vect-82_64.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-9.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u8-i2-gap.c: Mark functions noinline.
	* gcc.dg/vect/vect-116.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-store-u16-i4.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-vect-iv-3.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-pattern-1b.c: Mark functions noinline.
	* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-12.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-7.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-101.c: Mark functions noinline.
	* gcc.dg/vect/vect-44.c: Mark functions noinline.
	* gcc.dg/vect/vect-27.c: Mark functions noinline.
	* gcc.dg/vect/vect-vfa-03.c: Mark functions noinline.
	* gcc.dg/vect/vect-86.c: Mark functions noinline.
	* gcc.dg/vect/vect-100.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-1.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-3c.c: Mark functions noinline.
	* gcc.dg/vect/vect-floatint-conversion-2.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-a-u32-mult.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u8-i8.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-fir-lb.c: Mark functions noinline.
	* gcc.dg/vect/vect-108.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-9.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-21.c: Mark functions noinline.
	* gcc.dg/vect/vect-iv-2.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-pattern-2a.c: Mark functions noinline.
	* gcc.dg/vect/vect-11.c: Mark functions noinline.
	* gcc.dg/vect/vect-70.c: Mark functions noinline.
	* gcc.dg/vect/vect-36.c: Mark functions noinline.
	* gcc.dg/vect/vect-19.c: Mark functions noinline.
	* gcc.dg/vect/vect-95.c: Mark functions noinline.
	* gcc.dg/vect/vect-78.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-a-u16-i4.c: Mark functions noinline.
	* gcc.dg/vect/vect-3.c: Mark functions noinline.
	* gcc.dg/vect/vect-all.c: Mark functions noinline.
	* gcc.dg/vect/vect-117.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-13.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-pattern-1c.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u16-i2.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Mark functions noinline.
	* gcc.dg/vect/vect-20.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-8.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-noreassoc-outer-1.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-102.c: Mark functions noinline.
	* gcc.dg/vect/vect-62.c: Mark functions noinline.
	* gcc.dg/vect/vect-28.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-10.c: Mark functions noinline.
	* gcc.dg/vect/vect-vfa-04.c: Mark functions noinline.
	* gcc.dg/vect/vect-87.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-dot-u16a.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-2.c: Mark functions noinline.
	* gcc.dg/vect/vect-intfloat-conversion-4a.c: Mark functions noinline.
	* gcc.dg/vect/vect-109.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-22.c: Mark functions noinline.
	* gcc.dg/vect/no-section-anchors-vect-outer-4h.c: Mark functions noinline.
	* gcc.dg/vect/vect-iv-3.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-pattern-2b.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-dot-s8a.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-57.c: Mark functions noinline.
	* gcc.dg/vect/vect-12.c: Mark functions noinline.
	* gcc.dg/vect/vect-71.c: Mark functions noinline.
	* gcc.dg/vect/vect-54.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-a-mult.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-3.c: Mark functions noinline.
	* gcc.dg/vect/vect-96.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-1char.c: Mark functions noinline.
	* gcc.dg/vect/vect-110.c: Mark functions noinline.
	* gcc.dg/vect/vect-intfloat-conversion-1.c: Mark functions noinline.
	* gcc.dg/vect/vect-4.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-store-u32-i2.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-4k.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-1.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-mult.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-14.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-49.c: Mark functions noinline.
	* gcc.dg/vect/vect-21.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-9.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-noreassoc-outer-2.c: Mark functions noinline.
	* gcc.dg/vect/vect-80.c: Mark functions noinline.
	* gcc.dg/vect/vect-63.c: Mark functions noinline.
	* gcc.dg/vect/vect-46.c: Mark functions noinline.
	* gcc.dg/vect/vect-29.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-11.c: Mark functions noinline.
	* gcc.dg/vect/vect-88.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u8-i2.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-dot-u16b.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-3.c: Mark functions noinline.
	* gcc.dg/vect/vect-83_64.c: Mark functions noinline.
	* gcc.dg/vect/vect-intfloat-conversion-4b.c: Mark functions noinline.
	* gcc.dg/vect/vect-iv-4.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-pattern-2c.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-dot-s8b.c: Mark functions noinline.
	* gcc.dg/vect/vect-30.c: Mark functions noinline.
	* gcc.dg/vect/vect-13.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Mark functions noinline.
	* gcc.dg/vect/vect-iv-8a.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-same-dr.c: Mark functions noinline.
	* gcc.dg/vect/vect-72.c: Mark functions noinline.
	* gcc.dg/vect/vect-38.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-4.c: Mark functions noinline.
	* gcc.dg/vect/vect-widen-mult-u16.c: Mark functions noinline.
	* gcc.dg/vect/vect-97.c: Mark functions noinline.
	* gcc.dg/vect/vect-111.c: Mark functions noinline.
	* gcc.dg/vect/vect-intfloat-conversion-2.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-4d.c: Mark functions noinline.
	* gcc.dg/vect/vect-5.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-mult-char-ls.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-store-a-u8-i2.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-4l.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-2.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-15.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-1short.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u16-i4.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u32-i8.c: Mark functions noinline.
	* gcc.dg/vect/vect-22.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-noreassoc-outer-3.c: Mark functions noinline.
	* gcc.dg/vect/vect-64.c: Mark functions noinline.
	* gcc.dg/vect/vect-89.c: Mark functions noinline.
	* gcc.dg/vect/no-tree-dom-vect-bug.c: Mark functions noinline.
	* gcc.dg/vect/vect-103.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-51.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-pr29145.c: Mark functions noinline.
	* gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Mark functions noinline.
	* gcc.dg/vect/vect-iv-5.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-dot-s8c.c: Mark functions noinline.
	* gcc.dg/vect/vect-11a.c: Mark functions noinline.
	* gcc.dg/vect/vect-31.c: Mark functions noinline.
	* gcc.dg/vect/vect-14.c: Mark functions noinline.
	* gcc.dg/vect/vect-73.c: Mark functions noinline.
	* gcc.dg/vect/vect-56.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-2.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-5.c: Mark functions noinline.
	* gcc.dg/vect/vect-98.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-float.c: Mark functions noinline.
	* gcc.dg/vect/vect-intfloat-conversion-3.c: Mark functions noinline.
	* gcc.dg/vect/vect-112.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-9a.c: Mark functions noinline.
	* gcc.dg/vect/vect-6.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-43.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-4m.c: Mark functions noinline.
	* gcc.dg/vect/vect-widen-mult-s8.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-3.c: Mark functions noinline.
	* gcc.dg/vect/pr25413.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-16.c: Mark functions noinline.
	* gcc.dg/vect/vect-40.c: Mark functions noinline.
	* gcc.dg/vect/vect-23.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-noreassoc-outer-4.c: Mark functions noinline.
	* gcc.dg/vect/vect-82.c: Mark functions noinline.
	* gcc.dg/vect/vect-65.c: Mark functions noinline.
	* gcc.dg/vect/vect-48.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-dot-s16a.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Mark functions noinline.
	* gcc.dg/vect/vect-104.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-fir.c: Mark functions noinline.
	* gcc.dg/vect/vect-iv-6.c: Mark functions noinline.
	* gcc.dg/vect/vect-strided-u32-mult.c: Mark functions noinline.
	* gcc.dg/vect/vect-32.c: Mark functions noinline.
	* gcc.dg/vect/vect-15.c: Mark functions noinline.
	* gcc.dg/vect/no-trapping-math-2.c: Mark functions noinline.
	* gcc.dg/vect/vect-float-truncate-1.c: Mark functions noinline.
	* gcc.dg/vect/vect-91.c: Mark functions noinline.
	* gcc.dg/vect/vect-74.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-2a.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-3.c: Mark functions noinline.
	* gcc.dg/vect/vect-reduc-2char.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-6.c: Mark functions noinline.
	* gcc.dg/vect/vect-99.c: Mark functions noinline.
	* gcc.dg/vect/vect-113.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-9b.c: Mark functions noinline.
	* gcc.dg/vect/vect-outer-4f.c: Mark functions noinline.
	* gcc.dg/vect/vect-7.c: Mark functions noinline.
	* gcc.dg/vect/no-vfa-vect-61.c: Mark functions noinline.
	* gcc.dg/vect/vect-multitypes-4.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-outer-17.c: Mark functions noinline.
	* gcc.dg/vect/vect-24.c: Mark functions noinline.
	* gcc.dg/vect/no-scevccp-noreassoc-outer-5.c: Mark functions noinline.
	* gcc.dg/vect/vect-83.c: Mark functions noinline.
	* gcc.dg/vect/vect-66.c: Mark functions noinline.
	* gcc.dg/vect/wrapv-vect-reduc-2char.c: Mark functions noinline.

From-SVN: r128079
parent f1a72222
2007-09-04 Jan Hubicka <jh@suse.cz>
* gcc.dg/vect/vect-reduc-dot-s16b.c: Mark functions noinline.
* gcc.dg/vect/vect-105.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-6.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-53.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-2short.c: Mark functions noinline.
* gcc.dg/vect/fast-math-vect-pr29925.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u8a.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-7.c: Mark functions noinline.
* gcc.dg/vect/vect-50.c: Mark functions noinline.
* gcc.dg/vect/vect-33.c: Mark functions noinline.
* gcc.dg/vect/vect-16.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-sum.c: Mark functions noinline.
* gcc.dg/vect/vect-float-extend-1.c: Mark functions noinline.
* gcc.dg/vect/vect-92.c: Mark functions noinline.
* gcc.dg/vect/vect-75.c: Mark functions noinline.
* gcc.dg/vect/vect-58.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2b.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-7.c: Mark functions noinline.
* gcc.dg/vect/no-section-anchors-vect-69.c: Mark functions noinline.
* gcc.dg/vect/vect-114.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4g.c: Mark functions noinline.
* gcc.dg/vect/vect-8.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-vect-iv-1.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-10.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-45.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-10a.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-5.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-18.c: Mark functions noinline.
* gcc.dg/vect/vect-42.c: Mark functions noinline.
* gcc.dg/vect/vect-25.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-01.c: Mark functions noinline.
* gcc.dg/vect/vect-67.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3a.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u16-mult.c: Mark functions noinline.
* gcc.dg/vect/vect-106.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-7.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-37.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-2short.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u8b.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-8.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-79.c: Mark functions noinline.
* gcc.dg/vect/vect-34.c: Mark functions noinline.
* gcc.dg/vect/vect-17.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-102a.c: Mark functions noinline.
* gcc.dg/vect/vect-align-1.c: Mark functions noinline.
* gcc.dg/vect/vect-93.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-s16.c: Mark functions noinline.
* gcc.dg/vect/vect-76.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u16-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2c.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-5.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-8.c: Mark functions noinline.
* gcc.dg/vect/vect-115.c: Mark functions noinline.
* gcc.dg/vect/vect-9.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-vect-iv-2.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-1a.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-11.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-10b.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u32-i4.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-u8.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-6.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-19.c: Mark functions noinline.
* gcc.dg/vect/vect-60.c: Mark functions noinline.
* gcc.dg/vect/vect-26.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-02.c: Mark functions noinline.
* gcc.dg/vect/vect-85.c: Mark functions noinline.
* gcc.dg/vect/vect-68.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3b.c: Mark functions noinline.
* gcc.dg/vect/vect-floatint-conversion-1.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-8.c: Mark functions noinline.
* gcc.dg/vect/vect-107.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-1.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-20.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-9.c: Mark functions noinline.
* gcc.dg/vect/vect-52.c: Mark functions noinline.
* gcc.dg/vect/vect-35.c: Mark functions noinline.
* gcc.dg/vect/vect-18.c: Mark functions noinline.
* gcc.dg/vect/vect-align-2.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-1.c: Mark functions noinline.
* gcc.dg/vect/vect-77.c: Mark functions noinline.
* gcc.dg/vect/vect-2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2d.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-6.c: Mark functions noinline.
* gcc.dg/vect/vect-82_64.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-9.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i2-gap.c: Mark functions noinline.
* gcc.dg/vect/vect-116.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-store-u16-i4.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-vect-iv-3.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-1b.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-12.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-7.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-101.c: Mark functions noinline.
* gcc.dg/vect/vect-44.c: Mark functions noinline.
* gcc.dg/vect/vect-27.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-03.c: Mark functions noinline.
* gcc.dg/vect/vect-86.c: Mark functions noinline.
* gcc.dg/vect/vect-100.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-1.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3c.c: Mark functions noinline.
* gcc.dg/vect/vect-floatint-conversion-2.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u32-mult.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-fir-lb.c: Mark functions noinline.
* gcc.dg/vect/vect-108.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-9.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-21.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-2.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-2a.c: Mark functions noinline.
* gcc.dg/vect/vect-11.c: Mark functions noinline.
* gcc.dg/vect/vect-70.c: Mark functions noinline.
* gcc.dg/vect/vect-36.c: Mark functions noinline.
* gcc.dg/vect/vect-19.c: Mark functions noinline.
* gcc.dg/vect/vect-95.c: Mark functions noinline.
* gcc.dg/vect/vect-78.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u16-i4.c: Mark functions noinline.
* gcc.dg/vect/vect-3.c: Mark functions noinline.
* gcc.dg/vect/vect-all.c: Mark functions noinline.
* gcc.dg/vect/vect-117.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-13.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-1c.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u16-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Mark functions noinline.
* gcc.dg/vect/vect-20.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-8.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-1.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-102.c: Mark functions noinline.
* gcc.dg/vect/vect-62.c: Mark functions noinline.
* gcc.dg/vect/vect-28.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-10.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-04.c: Mark functions noinline.
* gcc.dg/vect/vect-87.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u16a.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-2.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-4a.c: Mark functions noinline.
* gcc.dg/vect/vect-109.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-22.c: Mark functions noinline.
* gcc.dg/vect/no-section-anchors-vect-outer-4h.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-3.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-2b.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s8a.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-57.c: Mark functions noinline.
* gcc.dg/vect/vect-12.c: Mark functions noinline.
* gcc.dg/vect/vect-71.c: Mark functions noinline.
* gcc.dg/vect/vect-54.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-mult.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-3.c: Mark functions noinline.
* gcc.dg/vect/vect-96.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-1char.c: Mark functions noinline.
* gcc.dg/vect/vect-110.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-1.c: Mark functions noinline.
* gcc.dg/vect/vect-4.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-store-u32-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4k.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-1.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-mult.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-14.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-49.c: Mark functions noinline.
* gcc.dg/vect/vect-21.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-9.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-2.c: Mark functions noinline.
* gcc.dg/vect/vect-80.c: Mark functions noinline.
* gcc.dg/vect/vect-63.c: Mark functions noinline.
* gcc.dg/vect/vect-46.c: Mark functions noinline.
* gcc.dg/vect/vect-29.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-11.c: Mark functions noinline.
* gcc.dg/vect/vect-88.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u16b.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-3.c: Mark functions noinline.
* gcc.dg/vect/vect-83_64.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-4b.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-4.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-2c.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s8b.c: Mark functions noinline.
* gcc.dg/vect/vect-30.c: Mark functions noinline.
* gcc.dg/vect/vect-13.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-8a.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-same-dr.c: Mark functions noinline.
* gcc.dg/vect/vect-72.c: Mark functions noinline.
* gcc.dg/vect/vect-38.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-4.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-u16.c: Mark functions noinline.
* gcc.dg/vect/vect-97.c: Mark functions noinline.
* gcc.dg/vect/vect-111.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4d.c: Mark functions noinline.
* gcc.dg/vect/vect-5.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-mult-char-ls.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-store-a-u8-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4l.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-2.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-15.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-1short.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u16-i4.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u32-i8.c: Mark functions noinline.
* gcc.dg/vect/vect-22.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-3.c: Mark functions noinline.
* gcc.dg/vect/vect-64.c: Mark functions noinline.
* gcc.dg/vect/vect-89.c: Mark functions noinline.
* gcc.dg/vect/no-tree-dom-vect-bug.c: Mark functions noinline.
* gcc.dg/vect/vect-103.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-51.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-pr29145.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-5.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s8c.c: Mark functions noinline.
* gcc.dg/vect/vect-11a.c: Mark functions noinline.
* gcc.dg/vect/vect-31.c: Mark functions noinline.
* gcc.dg/vect/vect-14.c: Mark functions noinline.
* gcc.dg/vect/vect-73.c: Mark functions noinline.
* gcc.dg/vect/vect-56.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-5.c: Mark functions noinline.
* gcc.dg/vect/vect-98.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-float.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-3.c: Mark functions noinline.
* gcc.dg/vect/vect-112.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-9a.c: Mark functions noinline.
* gcc.dg/vect/vect-6.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-43.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4m.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-s8.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-3.c: Mark functions noinline.
* gcc.dg/vect/pr25413.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-16.c: Mark functions noinline.
* gcc.dg/vect/vect-40.c: Mark functions noinline.
* gcc.dg/vect/vect-23.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-4.c: Mark functions noinline.
* gcc.dg/vect/vect-82.c: Mark functions noinline.
* gcc.dg/vect/vect-65.c: Mark functions noinline.
* gcc.dg/vect/vect-48.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s16a.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Mark functions noinline.
* gcc.dg/vect/vect-104.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-fir.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-6.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u32-mult.c: Mark functions noinline.
* gcc.dg/vect/vect-32.c: Mark functions noinline.
* gcc.dg/vect/vect-15.c: Mark functions noinline.
* gcc.dg/vect/no-trapping-math-2.c: Mark functions noinline.
* gcc.dg/vect/vect-float-truncate-1.c: Mark functions noinline.
* gcc.dg/vect/vect-91.c: Mark functions noinline.
* gcc.dg/vect/vect-74.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2a.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-2char.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-6.c: Mark functions noinline.
* gcc.dg/vect/vect-99.c: Mark functions noinline.
* gcc.dg/vect/vect-113.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-9b.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4f.c: Mark functions noinline.
* gcc.dg/vect/vect-7.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-61.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-4.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-17.c: Mark functions noinline.
* gcc.dg/vect/vect-24.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-5.c: Mark functions noinline.
* gcc.dg/vect/vect-83.c: Mark functions noinline.
* gcc.dg/vect/vect-66.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-2char.c: Mark functions noinline.
2007-09-04 Uros Bizjak <ubizjak@gmail.com> 2007-09-04 Uros Bizjak <ubizjak@gmail.com>
PR middle-end/33187 PR middle-end/33187
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include <stdlib.h> #include <stdlib.h>
#include "tree-vect.h" #include "tree-vect.h"
__attribute__ ((noinline))
void interp_pitch(float *exc, float *interp, int pitch, int len) void interp_pitch(float *exc, float *interp, int pitch, int len)
{ {
int i,k; int i,k;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i,j,k=0; int i,j,k=0;
int sum,x; int sum,x;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 40 #define N 40
int a[200*N]; int a[200*N];
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j; int i,j;
int sum,s=0; int sum,s=0;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i,j; int i,j;
int sum,x; int sum,x;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 40 #define N 40
int __attribute__ ((noinline)) int
foo (){ foo (){
int i,j; int i,j;
int sum,s=0; int sum,s=0;
...@@ -21,6 +21,7 @@ foo (){ ...@@ -21,6 +21,7 @@ foo (){
return s; return s;
} }
__attribute__ ((noinline))
int bar (int i, int j) int bar (int i, int j)
{ {
return (i + j); return (i + j);
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i,j; int i,j;
int sum,x; int sum,x;
......
...@@ -6,7 +6,7 @@ signed short block[N][N]; ...@@ -6,7 +6,7 @@ signed short block[N][N];
/* memory references in the inner-loop */ /* memory references in the inner-loop */
unsigned int __attribute__ ((noinline)) unsigned int
foo (){ foo (){
int i,j; int i,j;
unsigned int diff = 0; unsigned int diff = 0;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
int a[N]; int a[N];
int b[N]; int b[N];
int __attribute__ ((noinline)) int
foo (int n){ foo (int n){
int i,j; int i,j;
int sum,x,y; int sum,x,y;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
int a[N]; int a[N];
int b[N]; int b[N];
int __attribute__ ((noinline)) int
foo (int n){ foo (int n){
int i,j; int i,j;
int sum,x,y; int sum,x,y;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
int a[N]; int a[N];
int b[N]; int b[N];
int __attribute__ ((noinline)) int
foo (int n){ foo (int n){
int i,j; int i,j;
int sum,x,y; int sum,x,y;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (int n){ foo (int n){
int i,j; int i,j;
int sum; int sum;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
int a[N]; int a[N];
short b[N]; short b[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i,j; int i,j;
int sum; int sum;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
unsigned short in[N]; unsigned short in[N];
unsigned int __attribute__ ((noinline)) unsigned int
foo (short scale){ foo (short scale){
int i; int i;
unsigned short j; unsigned short j;
...@@ -24,7 +24,7 @@ foo (short scale){ ...@@ -24,7 +24,7 @@ foo (short scale){
return sum; return sum;
} }
unsigned short __attribute__ ((noinline)) unsigned short
bar (void) bar (void)
{ {
unsigned short j; unsigned short j;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #define N 64
unsigned short __attribute__ ((noinline)) unsigned short
foo (short scale){ foo (short scale){
int i; int i;
unsigned short j; unsigned short j;
...@@ -22,7 +22,7 @@ foo (short scale){ ...@@ -22,7 +22,7 @@ foo (short scale){
return sum; return sum;
} }
unsigned short __attribute__ ((noinline)) unsigned short
bar (void) bar (void)
{ {
unsigned short j; unsigned short j;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (int x){ foo (int x){
int i,j; int i,j;
int sum; int sum;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i; int i;
unsigned short j; unsigned short j;
......
...@@ -9,7 +9,7 @@ int a[N]; ...@@ -9,7 +9,7 @@ int a[N];
int b[N]; int b[N];
int c[N]; int c[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i; int i;
unsigned short j; unsigned short j;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i,j; int i,j;
int sum; int sum;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
unsigned short a[N]; unsigned short a[N];
unsigned int b[N]; unsigned int b[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
unsigned short i,j; unsigned short i,j;
unsigned short sum; unsigned short sum;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
int a[N]; int a[N];
int b[N]; int b[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i,j; int i,j;
int sum,x,y; int sum,x,y;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i; int i;
unsigned short j; unsigned short j;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (int n){ foo (int n){
int i,j; int i,j;
int sum; int sum;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i,j; int i,j;
int sum; int sum;
......
...@@ -9,7 +9,7 @@ int a[N]; ...@@ -9,7 +9,7 @@ int a[N];
/* induction variable k advances through inner and outer loops. */ /* induction variable k advances through inner and outer loops. */
int __attribute__ ((noinline)) int
foo (int n){ foo (int n){
int i,j,k=0; int i,j,k=0;
int sum; int sum;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (){ foo (){
int i,j; int i,j;
int sum; int sum;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 40 #define N 40
int __attribute__ ((noinline)) int
foo (int * __restrict__ b, int k){ foo (int * __restrict__ b, int k){
int i,j; int i,j;
int sum,x; int sum,x;
......
...@@ -9,7 +9,7 @@ unsigned short in[N]; ...@@ -9,7 +9,7 @@ unsigned short in[N];
unsigned short coef[N]; unsigned short coef[N];
unsigned short a[N]; unsigned short a[N];
unsigned int __attribute__ ((noinline)) unsigned int
foo (short scale){ foo (short scale){
int i; int i;
unsigned short j; unsigned short j;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 40 #define N 40
int __attribute__ ((noinline)) int
foo (int *a){ foo (int *a){
int i,j; int i,j;
int sum; int sum;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (int n){ foo (int n){
int i,j; int i,j;
int sum; int sum;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (int n){ foo (int n){
int i,j; int i,j;
int sum; int sum;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int a[N]; int a[N];
int __attribute__ ((noinline)) int
foo (int n){ foo (int n){
int i,j; int i,j;
int sum; int sum;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 26 #define N 26
int main1 (int X) __attribute__ ((noinline)) int main1 (int X)
{ {
int s = X; int s = X;
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int arr1[N]; int arr1[N];
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 26 #define N 26
__attribute__ ((noinline))
unsigned int main1 () unsigned int main1 ()
{ {
unsigned short i; unsigned short i;
......
...@@ -33,6 +33,7 @@ struct test2{ ...@@ -33,6 +33,7 @@ struct test2{
struct test1 tmp1[4]; struct test1 tmp1[4];
struct test2 tmp2[4]; struct test2 tmp2[4];
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i,j; int i,j;
......
...@@ -10,6 +10,7 @@ unsigned int out[N]; ...@@ -10,6 +10,7 @@ unsigned int out[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
__attribute__ ((noinline))
void void
foo (){ foo (){
int i,j; int i,j;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 16 #define N 16
int __attribute__ ((noinline)) int
main1 (void) main1 (void)
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
long stack_vars_sorted[32]; long stack_vars_sorted[32];
int __attribute__ ((noinline)) int
main1 (long n) main1 (long n)
{ {
long si; long si;
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include <stdarg.h> #include <stdarg.h>
#include "tree-vect.h" #include "tree-vect.h"
__attribute__ ((noinline))
void with_restrict(int * __restrict p) void with_restrict(int * __restrict p)
{ {
int i; int i;
...@@ -13,6 +14,7 @@ void with_restrict(int * __restrict p) ...@@ -13,6 +14,7 @@ void with_restrict(int * __restrict p)
} }
} }
__attribute__ ((noinline))
void without_restrict(int * p) void without_restrict(int * p)
{ {
int i; int i;
......
...@@ -15,6 +15,7 @@ struct extraction ...@@ -15,6 +15,7 @@ struct extraction
static int a[N] = {1,2,3,4,5,6,7,8,9}; static int a[N] = {1,2,3,4,5,6,7,8,9};
static int b[N] = {2,3,4,5,6,7,8,9,0}; static int b[N] = {2,3,4,5,6,7,8,9,0};
__attribute__ ((noinline))
int main1 (int x, int y) { int main1 (int x, int y) {
int i; int i;
struct extraction *p; struct extraction *p;
......
...@@ -16,6 +16,7 @@ static int a[N] = {1,2,3,4,5,6,7,8,9}; ...@@ -16,6 +16,7 @@ static int a[N] = {1,2,3,4,5,6,7,8,9};
static int b[N] = {2,3,4,5,6,7,8,9,9}; static int b[N] = {2,3,4,5,6,7,8,9,9};
volatile int foo; volatile int foo;
__attribute__ ((noinline))
int main1 (int x, int y) { int main1 (int x, int y) {
int i; int i;
struct extraction *p; struct extraction *p;
......
...@@ -16,6 +16,7 @@ static int a[N] = {1,2,3,4,5,6,7,8,9}; ...@@ -16,6 +16,7 @@ static int a[N] = {1,2,3,4,5,6,7,8,9};
static int b[N] = {2,3,4,5,6,7,8,9,9}; static int b[N] = {2,3,4,5,6,7,8,9,9};
volatile int foo; volatile int foo;
__attribute__ ((noinline))
int main1 (int x, int y) { int main1 (int x, int y) {
int i; int i;
struct extraction *p; struct extraction *p;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 16 #define N 16
char x[N] __attribute__ ((__aligned__(16))); char x[N] __attribute__ ((__aligned__(16)));
__attribute__ ((noinline))
int main1 (char *y) int main1 (char *y)
{ {
struct { struct {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -20,7 +21,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -20,7 +21,7 @@ void bar (float *pa, float *pb, float *pc)
} }
int __attribute__ ((noinline)) int
main1 (float *pa) main1 (float *pa)
{ {
int i; int i;
...@@ -38,7 +39,7 @@ main1 (float *pa) ...@@ -38,7 +39,7 @@ main1 (float *pa)
return 0; return 0;
} }
int __attribute__ ((noinline)) int
main2 (float * pa) main2 (float * pa)
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (const float *pa, const float *pb, const float *pc) void bar (const float *pa, const float *pb, const float *pc)
{ {
int i; int i;
...@@ -27,7 +28,7 @@ void bar (const float *pa, const float *pb, const float *pc) ...@@ -27,7 +28,7 @@ void bar (const float *pa, const float *pb, const float *pc)
vect-44.c is similar to this one with one difference: vect-44.c is similar to this one with one difference:
Aliasing is not a problem. */ Aliasing is not a problem. */
int __attribute__ ((noinline)) int
main1 (float *pa, float *pb, float *pc) main1 (float *pa, float *pb, float *pc)
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -27,7 +28,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -27,7 +28,7 @@ void bar (float *pa, float *pb, float *pc)
vect-48.c is similar to this one with one difference: vect-48.c is similar to this one with one difference:
aliasing is not a problem. */ aliasing is not a problem. */
int __attribute__ ((noinline)) int
main1 (float *pb, float *pc) main1 (float *pb, float *pc)
{ {
float pa[N] __attribute__ ((__aligned__(16))); float pa[N] __attribute__ ((__aligned__(16)));
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (const float *pa, const float *pb, const float *pc) void bar (const float *pa, const float *pb, const float *pc)
{ {
int i; int i;
...@@ -27,7 +28,7 @@ void bar (const float *pa, const float *pb, const float *pc) ...@@ -27,7 +28,7 @@ void bar (const float *pa, const float *pb, const float *pc)
vect-50.c is similar to this one with one difference: vect-50.c is similar to this one with one difference:
Aliasing is not a problem. */ Aliasing is not a problem. */
int __attribute__ ((noinline)) int
main1 (int n, float *pa, float *pb, float *pc) main1 (int n, float *pa, float *pb, float *pc)
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (const float *pa, const float *pb, const float *pc) void bar (const float *pa, const float *pb, const float *pc)
{ {
int i; int i;
...@@ -27,7 +28,7 @@ void bar (const float *pa, const float *pb, const float *pc) ...@@ -27,7 +28,7 @@ void bar (const float *pa, const float *pb, const float *pc)
vect-52.c is similar to this one with one difference: vect-52.c is similar to this one with one difference:
aliasing is not a problem. */ aliasing is not a problem. */
int __attribute__ ((noinline)) int
main1 (int n, float *pb, float *pc) main1 (int n, float *pb, float *pc)
{ {
float pa[N] __attribute__ ((__aligned__(16))); float pa[N] __attribute__ ((__aligned__(16)));
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -28,7 +29,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -28,7 +29,7 @@ void bar (float *pa, float *pb, float *pc)
vect-56.c is similar to this one with two differences: vect-56.c is similar to this one with two differences:
aliasing is a problem, and the write access is aligned. */ aliasing is a problem, and the write access is aligned. */
int __attribute__ ((noinline)) int
main1 (float *pa) main1 (float *pa)
{ {
int i; int i;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -29,7 +30,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -29,7 +30,7 @@ void bar (float *pa, float *pb, float *pc)
vect-60.c is similar to this one with two differences: vect-60.c is similar to this one with two differences:
aliasing is not a problem, and the write access is unaligned. */ aliasing is not a problem, and the write access is unaligned. */
int __attribute__ ((noinline)) int
main1 (int n , float *pa) main1 (int n , float *pa)
{ {
int i; int i;
......
...@@ -12,7 +12,7 @@ float fc[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7 ...@@ -12,7 +12,7 @@ float fc[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7
/* Like vect-80.c but the pointers are not annotated as restricted, /* Like vect-80.c but the pointers are not annotated as restricted,
and therefore can't be antialiased. */ and therefore can't be antialiased. */
int __attribute__ ((noinline)) int
main1 (float *pa, float *pb, float *pc) main1 (float *pa, float *pb, float *pc)
{ {
int i; int i;
......
...@@ -11,6 +11,7 @@ struct ...@@ -11,6 +11,7 @@ struct
double d[N]; double d[N];
} a; } a;
__attribute__ ((noinline))
int main1() int main1()
{ {
int i; int i;
......
...@@ -15,6 +15,7 @@ struct extraction ...@@ -15,6 +15,7 @@ struct extraction
static int a[N] = {1,2,3,4,5,6,7,8,9}; static int a[N] = {1,2,3,4,5,6,7,8,9};
static int b[N] = {2,3,4,5,6,7,8,9,0}; static int b[N] = {2,3,4,5,6,7,8,9,0};
__attribute__ ((noinline))
int main1 () { int main1 () {
int i; int i;
struct extraction *p; struct extraction *p;
...@@ -38,6 +39,7 @@ int main1 () { ...@@ -38,6 +39,7 @@ int main1 () {
return 0; return 0;
} }
__attribute__ ((noinline))
int main2 () { int main2 () {
int i; int i;
int c[N] = {1,2,3,4,5,6,7,8,9}; int c[N] = {1,2,3,4,5,6,7,8,9};
......
...@@ -17,6 +17,7 @@ static int b[N] = {17,24,7,0,2,3,4,31,82}; ...@@ -17,6 +17,7 @@ static int b[N] = {17,24,7,0,2,3,4,31,82};
static int c[N] = {9,17,24,7,0,2,3,4,31}; static int c[N] = {9,17,24,7,0,2,3,4,31};
volatile int foo; volatile int foo;
__attribute__ ((noinline))
int main1 (int x, int y) { int main1 (int x, int y) {
int i; int i;
struct extraction *p; struct extraction *p;
......
...@@ -17,6 +17,7 @@ static int b[N][N] = {{17,24,7},{0,2,3},{4,31,82}}; ...@@ -17,6 +17,7 @@ static int b[N][N] = {{17,24,7},{0,2,3},{4,31,82}};
static int c[N][N] = {{1,2,3},{4,6,8},{8,9,9}}; static int c[N][N] = {{1,2,3},{4,6,8},{8,9,9}};
volatile int foo; volatile int foo;
__attribute__ ((noinline))
int main1 (int x) { int main1 (int x) {
int i,j; int i,j;
struct extraction *p; struct extraction *p;
......
...@@ -16,6 +16,7 @@ static int a[N][N] = {{1,2,3,11},{4,5,6,12},{7,8,9,13},{34,45,67,83}}; ...@@ -16,6 +16,7 @@ static int a[N][N] = {{1,2,3,11},{4,5,6,12},{7,8,9,13},{34,45,67,83}};
static int b[N][N] = {{17,28,15,23},{0,2,3,24},{4,31,82,25},{29,31,432,256}}; static int b[N][N] = {{17,28,15,23},{0,2,3,24},{4,31,82,25},{29,31,432,256}};
static int c[N][N] = {{1,2,3,11},{4,9,13,34},{45,67,83,13},{34,45,67,83}}; static int c[N][N] = {{1,2,3,11},{4,9,13,34},{45,67,83,13},{34,45,67,83}};
__attribute__ ((noinline))
int main1 (int x) { int main1 (int x) {
int i,j; int i,j;
struct extraction *p; struct extraction *p;
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
static int a[N] = {1,2,3,4,5,6,7,8,9}; static int a[N] = {1,2,3,4,5,6,7,8,9};
static int b[N] = {2,3,4,5,6,7,8,9,0}; static int b[N] = {2,3,4,5,6,7,8,9,0};
__attribute__ ((noinline))
int main1 () { int main1 () {
int i; int i;
int *p, *q, *p1, *q1; int *p, *q, *p1, *q1;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int __attribute__ ((noinline)) int
main1 (void) main1 (void)
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int __attribute__ ((noinline)) int
main1 (void) main1 (void)
{ {
int i; int i;
......
...@@ -16,6 +16,7 @@ int ic[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45, ...@@ -16,6 +16,7 @@ int ic[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,
int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45, int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
__attribute__ ((noinline))
int main1 (int n) int main1 (int n)
{ {
int i; int i;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int static __attribute__ ((noinline)) int
main1 (void) main1 (void)
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int __attribute__ ((noinline)) int
main1 (void) main1 (void)
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int __attribute__ ((noinline)) int
main1 (void) main1 (void)
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int __attribute__ ((noinline)) int
main1 (void) main1 (void)
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int __attribute__ ((noinline)) int
main1 (void) main1 (void)
{ {
int i; int i;
......
...@@ -23,6 +23,7 @@ struct test1{ ...@@ -23,6 +23,7 @@ struct test1{
int l; int l;
}; };
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
#include "tree-vect.h" #include "tree-vect.h"
extern void abort (void); extern void abort (void);
__attribute__ ((noinline))
void foo() void foo()
{ {
static unsigned char A[256], B[256], C[256]; static unsigned char A[256], B[256], C[256];
......
...@@ -20,6 +20,7 @@ static int c[N][N] = {{ 1, 2, 3, 4, 5}, ...@@ -20,6 +20,7 @@ static int c[N][N] = {{ 1, 2, 3, 4, 5},
volatile int foo; volatile int foo;
__attribute__ ((noinline))
int main1 (int A[N][N], int n) int main1 (int A[N][N], int n)
{ {
......
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
#include "tree-vect.h" #include "tree-vect.h"
extern void abort (void); extern void abort (void);
__attribute__ ((noinline))
void u () void u ()
{ {
unsigned int A[4] = {0x08000000,0xffffffff,0xff0000ff,0xf0000001}; unsigned int A[4] = {0x08000000,0xffffffff,0xff0000ff,0xf0000001};
...@@ -19,6 +21,8 @@ void u () ...@@ -19,6 +21,8 @@ void u ()
if (C[i] != Answer[i]) if (C[i] != Answer[i])
abort (); abort ();
} }
__attribute__ ((noinline))
void s() void s()
{ {
signed int A[4] = {0x08000000,0xffffffff,0xff0000ff,0xf0000001}; signed int A[4] = {0x08000000,0xffffffff,0xff0000ff,0xf0000001};
...@@ -34,6 +38,7 @@ void s() ...@@ -34,6 +38,7 @@ void s()
abort (); abort ();
} }
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
u(); u();
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
int a[N]; int a[N];
int results[N] = {0,1,2,3,0,0,0,0,0,0,0,0,12,13,14,15}; int results[N] = {0,1,2,3,0,0,0,0,0,0,0,0,12,13,14,15};
__attribute__ ((noinline))
int main1() int main1()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 16 #define N 16
#define DIFF 240 #define DIFF 240
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #define N 64
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #define N 64
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #define N 64
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
char cb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}; char cb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #define N 64
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #define N 64
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 64 #define N 64
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #define N 64
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #define N 64
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 128 #define N 128
__attribute__ ((noinline))
int main1 (int n, int *p) int main1 (int n, int *p)
{ {
int i; int i;
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
/* unaligned store. */ /* unaligned store. */
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
/* unaligned load. */ /* unaligned load. */
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
/* unaligned store. */ /* unaligned store. */
__attribute__ ((noinline))
int main1 (int off) int main1 (int off)
{ {
int i; int i;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
/* unaligned load. */ /* unaligned load. */
__attribute__ ((noinline))
int main1 (int off) int main1 (int off)
{ {
int i; int i;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 20 #define N 20
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -9,6 +9,7 @@ float b[N] = {0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30}; ...@@ -9,6 +9,7 @@ float b[N] = {0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30};
float a[N]; float a[N];
float c[N]; float c[N];
__attribute__ ((noinline))
int main1 (int n) int main1 (int n)
{ {
int i=0; int i=0;
...@@ -29,6 +30,7 @@ int main1 (int n) ...@@ -29,6 +30,7 @@ int main1 (int n)
return 0; return 0;
} }
__attribute__ ((noinline))
int main2 (unsigned int n) int main2 (unsigned int n)
{ {
int i=0; int i=0;
......
...@@ -18,6 +18,7 @@ struct s{ ...@@ -18,6 +18,7 @@ struct s{
struct t e; /* unaligned (offset 2N+4N+4 B) */ struct t e; /* unaligned (offset 2N+4N+4 B) */
}; };
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
struct { struct {
......
...@@ -11,6 +11,7 @@ struct test { ...@@ -11,6 +11,7 @@ struct test {
extern struct test s; extern struct test s;
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
struct { struct {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
union { union {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
struct { struct {
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
double cb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}; double cb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
double ca[N]; double ca[N];
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 20 #define N 20
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -25,7 +26,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -25,7 +26,7 @@ void bar (float *pa, float *pb, float *pc)
vect-46.c is similar to this one with one difference: vect-46.c is similar to this one with one difference:
the loop bound is unknown. */ the loop bound is unknown. */
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -25,7 +26,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -25,7 +26,7 @@ void bar (float *pa, float *pb, float *pc)
The loop bound is known and divisible by the vectorization factor. The loop bound is known and divisible by the vectorization factor.
No aliasing problems. */ No aliasing problems. */
int __attribute__ ((noinline)) int
main1 (float * __restrict__ pa) main1 (float * __restrict__ pa)
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -27,7 +28,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -27,7 +28,7 @@ void bar (float *pa, float *pb, float *pc)
vect-45.c is similar to this one with one difference: vect-45.c is similar to this one with one difference:
can't prove that pointers don't alias. */ can't prove that pointers don't alias. */
int __attribute__ ((noinline)) int
main1 (float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc) main1 (float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -25,7 +26,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -25,7 +26,7 @@ void bar (float *pa, float *pb, float *pc)
vect-40.c is similar to this one with one difference: vect-40.c is similar to this one with one difference:
the loop bound is known. */ the loop bound is known. */
int __attribute__ ((noinline)) int
main1 (int n) main1 (int n)
{ {
int i; int i;
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
vect-49.c is similar to this one with one difference: vect-49.c is similar to this one with one difference:
aliasing is a problem. */ aliasing is a problem. */
int __attribute__ ((noinline)) int
main1 (float *pb, float *pc) main1 (float *pb, float *pc)
{ {
float pa[N] __attribute__ ((__aligned__(16))); float pa[N] __attribute__ ((__aligned__(16)));
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i, j; int i, j;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -19,7 +20,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -19,7 +20,7 @@ void bar (float *pa, float *pb, float *pc)
return; return;
} }
int __attribute__ ((noinline)) int
main1 (int n, float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc) main1 (int n, float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
{ {
int i; int i;
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
vect-53.c is similar to this one with one difference: vect-53.c is similar to this one with one difference:
aliasing is a problem. */ aliasing is a problem. */
int __attribute__ ((noinline)) int
main1 (int n, float *pb, float *pc) main1 (int n, float *pb, float *pc)
{ {
float pa[N] __attribute__ ((__aligned__(16))); float pa[N] __attribute__ ((__aligned__(16)));
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -25,7 +26,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -25,7 +26,7 @@ void bar (float *pa, float *pb, float *pc)
vect-58.c is similar to this one with one difference: vect-58.c is similar to this one with one difference:
the loop bound is unknown. */ the loop bound is unknown. */
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -29,7 +30,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -29,7 +30,7 @@ void bar (float *pa, float *pb, float *pc)
vect-57.c is similar to this one with two differences: vect-57.c is similar to this one with two differences:
aliasing is a problem, and the write access has unknown alignment. */ aliasing is a problem, and the write access has unknown alignment. */
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -25,7 +26,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -25,7 +26,7 @@ void bar (float *pa, float *pb, float *pc)
vect-54.c is similar to this one with one difference: vect-54.c is similar to this one with one difference:
the loop bound is known. */ the loop bound is known. */
int __attribute__ ((noinline)) int
main1 (int n) main1 (int n)
{ {
int i; int i;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
float results1[N] = {192.00,240.00,288.00,336.00,384.00,432.00,480.00,528.00,0.00}; float results1[N] = {192.00,240.00,288.00,336.00,384.00,432.00,480.00,528.00,0.00};
float results2[N] = {0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,54.00,120.00,198.00,288.00,390.00,504.00,630.00}; float results2[N] = {0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,54.00,120.00,198.00,288.00,390.00,504.00,630.00};
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc) void bar (float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -29,7 +30,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -29,7 +30,7 @@ void bar (float *pa, float *pb, float *pc)
vect-61.c is similar to this one with two differences: vect-61.c is similar to this one with two differences:
aliasing is not a problem, and the write access has unknown alignment. */ aliasing is not a problem, and the write access has unknown alignment. */
int __attribute__ ((noinline)) int
main1 (int n) main1 (int n)
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i, j; int i, j;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i, j; int i, j;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i, j; int i, j;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 16 #define N 16
#define M 4 #define M 4
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i, j; int i, j;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i, j; int i, j;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 (int a, int b) int main1 (int a, int b)
{ {
int i, j; int i, j;
......
...@@ -17,6 +17,7 @@ struct test1{ ...@@ -17,6 +17,7 @@ struct test1{
struct s e; /* array e.n is aligned */ struct s e; /* array e.n is aligned */
}; };
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i,j; int i,j;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 128 #define N 128
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -17,6 +17,7 @@ struct test1{ ...@@ -17,6 +17,7 @@ struct test1{
struct s e[N]; /* array e.n is aligned */ struct s e[N]; /* array e.n is aligned */
}; };
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i,j; int i,j;
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
/* indirect access. */ /* indirect access. */
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
/* unaligned load. */ /* unaligned load. */
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -9,6 +9,7 @@ int ic[N*2]; ...@@ -9,6 +9,7 @@ int ic[N*2];
#define ia (ic+N) #define ia (ic+N)
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i, j; int i, j;
......
...@@ -13,7 +13,7 @@ float a[N] __attribute__ ((__aligned__(16))); ...@@ -13,7 +13,7 @@ float a[N] __attribute__ ((__aligned__(16)));
float b[N+4] __attribute__ ((__aligned__(16))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0}; float b[N+4] __attribute__ ((__aligned__(16))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
float c[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5}; float c[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
int __attribute__ ((noinline)) int
main1 (float *__restrict__ pa, float * __restrict__ pb, float * __restrict__ pc) main1 (float *__restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
{ {
int i; int i;
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34}; int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
__attribute__ ((noinline))
int main1 (int *ib) int main1 (int *ib)
{ {
int i; int i;
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10}; int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10};
__attribute__ ((noinline))
int main1 (int *pib) int main1 (int *pib)
{ {
int i; int i;
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34}; int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
__attribute__ ((noinline))
int main1 (int *ib, int off) int main1 (int *ib, int off)
{ {
int i; int i;
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34}; int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
int off = 8; int off = 8;
__attribute__ ((noinline))
int main1 (int *ib) int main1 (int *ib)
{ {
int i; int i;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
float b[N] = {0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30}; float b[N] = {0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30};
float a[N]; float a[N];
__attribute__ ((noinline))
int main1 (int n) int main1 (int n)
{ {
int i; int i;
......
...@@ -13,7 +13,7 @@ float fc[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7 ...@@ -13,7 +13,7 @@ float fc[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7
the expression that represents the first location accessed - is the expression that represents the first location accessed - is
more involved than just an ssa_name. */ more involved than just an ssa_name. */
int __attribute__ ((noinline)) int
main1 (float * __restrict__ pa, float * __restrict__ pb, float *__restrict__ pc) main1 (float * __restrict__ pa, float * __restrict__ pb, float *__restrict__ pc)
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
long long unsigned int ca[N]; long long unsigned int ca[N];
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
long long unsigned int ca[N]; long long unsigned int ca[N];
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
long long unsigned int ca[N]; long long unsigned int ca[N];
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
long long unsigned int ca[N]; long long unsigned int ca[N];
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 (int *a) int main1 (int *a)
{ {
int i, j, k; int i, j, k;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 (int n) int main1 (int n)
{ {
int i, j, k; int i, j, k;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 (int n, int *a) int main1 (int n, int *a)
{ {
int i, j, k; int i, j, k;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 (int n, int *a) int main1 (int n, int *a)
{ {
int i, j, k; int i, j, k;
......
...@@ -11,6 +11,7 @@ struct tmp_struct ...@@ -11,6 +11,7 @@ struct tmp_struct
int y[N]; int y[N];
}; };
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i, *q; int i, *q;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -13,7 +13,7 @@ extern int a[N]; ...@@ -13,7 +13,7 @@ extern int a[N];
the same alignment. Peeling to align one of the accesses will the same alignment. Peeling to align one of the accesses will
align the other. */ align the other. */
int __attribute__ ((noinline)) int
main1 (int * pa) main1 (int * pa)
{ {
int i; int i;
...@@ -31,7 +31,7 @@ main1 (int * pa) ...@@ -31,7 +31,7 @@ main1 (int * pa)
the same alignment. Peeling to align one of the accesses will the same alignment. Peeling to align one of the accesses will
align the other. */ align the other. */
int __attribute__ ((noinline)) int
main2 () main2 ()
{ {
int i; int i;
...@@ -44,7 +44,7 @@ main2 () ...@@ -44,7 +44,7 @@ main2 ()
return 0; return 0;
} }
int __attribute__ ((noinline)) int
main3 () main3 ()
{ {
int i; int i;
......
...@@ -17,7 +17,7 @@ float pc[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13 ...@@ -17,7 +17,7 @@ float pc[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13
can use this information (generate prolog and epilog loops can use this information (generate prolog and epilog loops
with known number of iterations, and only if needed). */ with known number of iterations, and only if needed). */
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
...@@ -37,7 +37,7 @@ main1 () ...@@ -37,7 +37,7 @@ main1 ()
return 0; return 0;
} }
int __attribute__ ((noinline)) int
main2 () main2 ()
{ {
int i; int i;
...@@ -57,7 +57,7 @@ main2 () ...@@ -57,7 +57,7 @@ main2 ()
return 0; return 0;
} }
int __attribute__ ((noinline)) int
main3 (int n) main3 (int n)
{ {
int i; int i;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 3001 #define N 3001
int __attribute__ ((noinline))
main1 (float *pa) main1 (float *pa)
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 256 #define N 256
__attribute__ ((noinline))
void bar (float *pd, float *pa, float *pb, float *pc) void bar (float *pd, float *pa, float *pb, float *pc)
{ {
int i; int i;
...@@ -22,7 +23,7 @@ void bar (float *pd, float *pa, float *pb, float *pc) ...@@ -22,7 +23,7 @@ void bar (float *pd, float *pa, float *pb, float *pc)
} }
int __attribute__ ((noinline)) int
main1 (int n, float * __restrict__ pd, float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc) main1 (int n, float * __restrict__ pd, float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
{ {
int i; int i;
......
...@@ -11,6 +11,7 @@ struct tmp ...@@ -11,6 +11,7 @@ struct tmp
int ia[N]; int ia[N];
}; };
__attribute__ ((noinline))
int main1 (int off) int main1 (int off)
{ {
struct tmp sb[N]; struct tmp sb[N];
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 16 #define N 16
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
struct { struct {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 4 #define N 4
#define DOT4( a, b ) ( a[0]*b[0] + a[1]*b[1] + a[2]*b[2] + a[3]*b[3] ) #define DOT4( a, b ) ( a[0]*b[0] + a[1]*b[1] + a[2]*b[2] + a[3]*b[3] )
__attribute__ ((noinline))
int main1 (int ia[][N]) int main1 (int ia[][N])
{ {
int i, j; int i, j;
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
int ca[100]; int ca[100];
__attribute__ ((noinline))
void foo (int n) void foo (int n)
{ {
unsigned int i; unsigned int i;
......
...@@ -14,7 +14,7 @@ struct foo { ...@@ -14,7 +14,7 @@ struct foo {
int y[N]; int y[N];
} __attribute__((packed)); } __attribute__((packed));
int __attribute__ ((noinline)) int
main1 (struct foo * __restrict__ p) main1 (struct foo * __restrict__ p)
{ {
int i; int i;
......
...@@ -18,6 +18,7 @@ struct foo { ...@@ -18,6 +18,7 @@ struct foo {
struct foo f2; struct foo f2;
int z[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int z[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
__attribute__ ((noinline))
void fbar(struct foo *fp) void fbar(struct foo *fp)
{ {
int i,j; int i,j;
......
...@@ -13,6 +13,7 @@ float fresults1[N] = {192.00,240.00,288.00,336.00,384.00,432.00,480.00,528.00,48 ...@@ -13,6 +13,7 @@ float fresults1[N] = {192.00,240.00,288.00,336.00,384.00,432.00,480.00,528.00,48
float fresults2[N] = {0.00,6.00,12.00,18.00,24.00,30.00,36.00,42.00,0.00,54.00,120.00,198.00,288.00,390.00,504.00,630.00}; float fresults2[N] = {0.00,6.00,12.00,18.00,24.00,30.00,36.00,42.00,0.00,54.00,120.00,198.00,288.00,390.00,504.00,630.00};
/****************************************************/ /****************************************************/
__attribute__ ((noinline))
void icheck_results (int *a, int *results) void icheck_results (int *a, int *results)
{ {
int i; int i;
...@@ -23,6 +24,7 @@ void icheck_results (int *a, int *results) ...@@ -23,6 +24,7 @@ void icheck_results (int *a, int *results)
} }
} }
__attribute__ ((noinline))
void fcheck_results (float *a, float *results) void fcheck_results (float *a, float *results)
{ {
int i; int i;
...@@ -33,31 +35,31 @@ void fcheck_results (float *a, float *results) ...@@ -33,31 +35,31 @@ void fcheck_results (float *a, float *results)
} }
} }
void __attribute__ ((noinline)) void
fbar_mul (float *a) fbar_mul (float *a)
{ {
fcheck_results (a, fmul_results); fcheck_results (a, fmul_results);
} }
void __attribute__ ((noinline)) void
fbar_add (float *a) fbar_add (float *a)
{ {
fcheck_results (a, fadd_results); fcheck_results (a, fadd_results);
} }
void __attribute__ ((noinline)) void
ibar_add (int *a) ibar_add (int *a)
{ {
icheck_results (a, iadd_results); icheck_results (a, iadd_results);
} }
void __attribute__ ((noinline)) void
fbar1 (float *a) fbar1 (float *a)
{ {
fcheck_results (a, fresults1); fcheck_results (a, fresults1);
} }
void __attribute__ ((noinline)) void
fbar2 (float *a) fbar2 (float *a)
{ {
fcheck_results (a, fresults2); fcheck_results (a, fresults2);
...@@ -66,7 +68,7 @@ fbar2 (float *a) ...@@ -66,7 +68,7 @@ fbar2 (float *a)
/* All of the loops below are currently vectorizable. */ /* All of the loops below are currently vectorizable. */
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i,j; int i,j;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 32 #define N 32
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 32 #define N 32
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 32 #define N 32
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 32 #define N 32
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 32 #define N 32
int main1 () __attribute__ ((noinline)) int main1 ()
{ {
int i; int i;
int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}; int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 32 #define N 32
int main1 () __attribute__ ((noinline)) int main1 ()
{ {
int i; int i;
int int_arr[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}; int int_arr[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 32 #define N 32
int main1 () __attribute__ ((noinline)) int main1 ()
{ {
int i; int i;
int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}; int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 32 #define N 32
int main1 () __attribute__ ((noinline)) int main1 ()
{ {
int i; int i;
short sb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,-3,-6,-9,-12,-15,-18,-21,-24,-27,-30,-33,-36,-39,-42,-45}; short sb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,-3,-6,-9,-12,-15,-18,-21,-24,-27,-30,-33,-36,-39,-42,-45};
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 32 #define N 32
int main1 () __attribute__ ((noinline)) int main1 ()
{ {
int i; int i;
unsigned short usb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,65533,65530,65527,65524,65521,65518,65515,65512,65509,65506,65503,65500,65497,65494,65491}; unsigned short usb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,65533,65530,65527,65524,65521,65518,65515,65512,65509,65506,65503,65500,65497,65494,65491};
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 16 #define N 16
int result[N] = {8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38}; int result[N] = {8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38};
int main1 (int X) __attribute__ ((noinline)) int main1 (int X)
{ {
int arr[N]; int arr[N];
int k = X; int k = X;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int main1 () __attribute__ ((noinline)) int main1 ()
{ {
int arr1[N]; int arr1[N];
int k = 0; int k = 0;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int main1 () __attribute__ ((noinline)) int main1 ()
{ {
int arr1[N]; int arr1[N];
int arr2[N]; int arr2[N];
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int main1 () __attribute__ ((noinline)) int main1 ()
{ {
unsigned int arr1[N]; unsigned int arr1[N];
unsigned short arr2[N]; unsigned short arr2[N];
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int main1 () __attribute__ ((noinline)) int main1 ()
{ {
float arr[N]; float arr[N];
float f = 1.0; float f = 1.0;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int main1 (int X) __attribute__ ((noinline)) int main1 (int X)
{ {
int arr1[N+1]; int arr1[N+1];
int arr2[N+1]; int arr2[N+1];
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 16 #define N 16
int result[N] = {8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38}; int result[N] = {8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38};
int main1 (int X) __attribute__ ((noinline)) int main1 (int X)
{ {
int arr[N]; int arr[N];
int k = 3; int k = 3;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 26 #define N 26
int main1 (short X) __attribute__ ((noinline)) int main1 (short X)
{ {
unsigned char a[N]; unsigned char a[N];
unsigned short b[N]; unsigned short b[N];
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 26 #define N 26
int main1 (short X) __attribute__ ((noinline)) int main1 (short X)
{ {
signed char a[N]; signed char a[N];
short b[N]; short b[N];
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 26 #define N 26
int a[N]; int a[N];
int main1 (int X) __attribute__ ((noinline)) int main1 (int X)
{ {
int s = X; int s = X;
int i; int i;
......
...@@ -18,7 +18,7 @@ int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45, ...@@ -18,7 +18,7 @@ int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,
which will also align the access to 'ia[i+3]', and the loop could be which will also align the access to 'ia[i+3]', and the loop could be
vectorized on all targets that support unaligned loads. */ vectorized on all targets that support unaligned loads. */
int main1 (int n) __attribute__ ((noinline)) int main1 (int n)
{ {
int i; int i;
...@@ -46,7 +46,7 @@ int main1 (int n) ...@@ -46,7 +46,7 @@ int main1 (int n)
This will not align the access 'sa[i+3]' (for which we need to This will not align the access 'sa[i+3]' (for which we need to
peel 5 iterations), so the loop can not be vectorized. */ peel 5 iterations), so the loop can not be vectorized. */
int main2 (int n) __attribute__ ((noinline)) int main2 (int n)
{ {
int i; int i;
......
...@@ -13,7 +13,7 @@ signed short Y[N] __attribute__ ((__aligned__(16))); ...@@ -13,7 +13,7 @@ signed short Y[N] __attribute__ ((__aligned__(16)));
int result[N]; int result[N];
/* Unsigned type promotion (hi->si) */ /* Unsigned type promotion (hi->si) */
int __attribute__ ((noinline)) int
foo1(int len) { foo1(int len) {
int i; int i;
...@@ -24,7 +24,7 @@ foo1(int len) { ...@@ -24,7 +24,7 @@ foo1(int len) {
} }
/* Signed type promotion (hi->si) */ /* Signed type promotion (hi->si) */
int __attribute__ ((noinline)) int
foo2(int len) { foo2(int len) {
int i; int i;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
short x[N] __attribute__ ((__aligned__(16))); short x[N] __attribute__ ((__aligned__(16)));
int __attribute__ ((noinline)) int
foo (int len, int *z) { foo (int len, int *z) {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 32 #define N 32
int main1 () __attribute__ ((noinline)) int main1 ()
{ {
int i; int i;
int ia[N]; int ia[N];
......
...@@ -12,6 +12,7 @@ short sb[N] __attribute__ ((__aligned__(16))) = ...@@ -12,6 +12,7 @@ short sb[N] __attribute__ ((__aligned__(16))) =
char cb[N] __attribute__ ((__aligned__(16))) = char cb[N] __attribute__ ((__aligned__(16))) =
{0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}; {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
__attribute__ ((noinline))
int main1 (int n, int * __restrict__ pib, int main1 (int n, int * __restrict__ pib,
short * __restrict__ psb, short * __restrict__ psb,
char * __restrict__ pcb) char * __restrict__ pcb)
......
...@@ -22,6 +22,7 @@ unsigned int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45, ...@@ -22,6 +22,7 @@ unsigned int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,
which will also align the access to 'ia[i+3]', and the loop could be which will also align the access to 'ia[i+3]', and the loop could be
vectorized on all targets that support unaligned loads. */ vectorized on all targets that support unaligned loads. */
__attribute__ ((noinline))
int main1 (int n) int main1 (int n)
{ {
int i; int i;
...@@ -51,6 +52,7 @@ int main1 (int n) ...@@ -51,6 +52,7 @@ int main1 (int n)
need to peel 5,1 iterations for VF=4,2 respectively, so the loop can not need to peel 5,1 iterations for VF=4,2 respectively, so the loop can not
be vectorized. */ be vectorized. */
__attribute__ ((noinline))
int main2 (int n) int main2 (int n)
{ {
int i; int i;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#define N 32 #define N 32
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
int i; int i;
......
...@@ -18,6 +18,7 @@ unsigned char cc[N] __attribute__ ((__aligned__(16))) = ...@@ -18,6 +18,7 @@ unsigned char cc[N] __attribute__ ((__aligned__(16))) =
unsigned char cb[N] __attribute__ ((__aligned__(16))) = unsigned char cb[N] __attribute__ ((__aligned__(16))) =
{0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}; {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
__attribute__ ((noinline))
int main1 (int n, int main1 (int n,
unsigned int * __restrict__ pic, unsigned int * __restrict__ pib, unsigned int * __restrict__ pic, unsigned int * __restrict__ pib,
unsigned short * __restrict__ psc, unsigned short * __restrict__ psb, unsigned short * __restrict__ psc, unsigned short * __restrict__ psb,
......
...@@ -13,7 +13,7 @@ signed short X[N] __attribute__ ((__aligned__(16))); ...@@ -13,7 +13,7 @@ signed short X[N] __attribute__ ((__aligned__(16)));
signed short Y[N] __attribute__ ((__aligned__(16))); signed short Y[N] __attribute__ ((__aligned__(16)));
unsigned char CX[N] __attribute__ ((__aligned__(16))); unsigned char CX[N] __attribute__ ((__aligned__(16)));
void __attribute__ ((noinline)) void
foo1(int len) { foo1(int len) {
int i; int i;
int result1 = 0; int result1 = 0;
......
...@@ -12,7 +12,7 @@ unsigned short uresultY[N]; ...@@ -12,7 +12,7 @@ unsigned short uresultY[N];
/* Unsigned type demotion (si->hi) */ /* Unsigned type demotion (si->hi) */
int __attribute__ ((noinline)) int
foo1(int len) { foo1(int len) {
int i; int i;
......
...@@ -11,7 +11,7 @@ signed char X[N] __attribute__ ((__aligned__(16))); ...@@ -11,7 +11,7 @@ signed char X[N] __attribute__ ((__aligned__(16)));
short result[N]; short result[N];
/* Unsigned type promotion (qi->hi) */ /* Unsigned type promotion (qi->hi) */
int __attribute__ ((noinline)) int
foo1(int len) { foo1(int len) {
int i; int i;
...@@ -21,7 +21,7 @@ foo1(int len) { ...@@ -21,7 +21,7 @@ foo1(int len) {
} }
/* Signed type promotion (qi->hi) */ /* Signed type promotion (qi->hi) */
int __attribute__ ((noinline)) int
foo2(int len) { foo2(int len) {
int i; int i;
......
...@@ -8,7 +8,7 @@ float out[N]; ...@@ -8,7 +8,7 @@ float out[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j; int i,j;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 40 #define N 40
float image[N][N][N] __attribute__ ((__aligned__(16))); float image[N][N][N] __attribute__ ((__aligned__(16)));
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j,k; int i,j,k;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 40 #define N 40
float image[2*N][N][N] __attribute__ ((__aligned__(16))); float image[2*N][N][N] __attribute__ ((__aligned__(16)));
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j,k; int i,j,k;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 40 #define N 40
float image[2*N][2*N][N] __attribute__ ((__aligned__(16))); float image[2*N][2*N][N] __attribute__ ((__aligned__(16)));
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j,k; int i,j,k;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 40 #define N 40
float image[N][N][N+1] __attribute__ ((__aligned__(16))); float image[N][N][N+1] __attribute__ ((__aligned__(16)));
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j,k; int i,j,k;
......
...@@ -8,7 +8,7 @@ float out[N]; ...@@ -8,7 +8,7 @@ float out[N];
/* Outer-loop vectoriation. */ /* Outer-loop vectoriation. */
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j; int i,j;
float diff; float diff;
......
...@@ -8,7 +8,7 @@ float out[N]; ...@@ -8,7 +8,7 @@ float out[N];
/* Outer-loop vectorization with misaliged accesses in the inner-loop. */ /* Outer-loop vectorization with misaliged accesses in the inner-loop. */
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j; int i,j;
float diff; float diff;
......
...@@ -8,7 +8,7 @@ float out[N]; ...@@ -8,7 +8,7 @@ float out[N];
/* Outer-loop vectorization with non-consecutive access. Not vectorized yet. */ /* Outer-loop vectorization with non-consecutive access. Not vectorized yet. */
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j; int i,j;
float diff; float diff;
......
...@@ -8,7 +8,7 @@ float out[N]; ...@@ -8,7 +8,7 @@ float out[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j; int i,j;
float diff; float diff;
......
...@@ -11,7 +11,7 @@ float out[N]; ...@@ -11,7 +11,7 @@ float out[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j; int i,j;
float diff; float diff;
......
...@@ -10,7 +10,7 @@ float out[N]; ...@@ -10,7 +10,7 @@ float out[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
void __attribute__ ((noinline)) void
foo (){ foo (){
int i,j; int i,j;
float diff; float diff;
......
...@@ -11,7 +11,7 @@ unsigned char arr[N]; ...@@ -11,7 +11,7 @@ unsigned char arr[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
/* Not vectorized due to multiple-types in the inner-loop. */ /* Not vectorized due to multiple-types in the inner-loop. */
unsigned int __attribute__ ((noinline)) unsigned int
foo (){ foo (){
int i,j; int i,j;
unsigned int diff; unsigned int diff;
...@@ -28,7 +28,7 @@ foo (){ ...@@ -28,7 +28,7 @@ foo (){
return s; return s;
} }
unsigned int __attribute__ ((noinline)) unsigned int
bar (int i, unsigned int diff, unsigned short *in) bar (int i, unsigned int diff, unsigned short *in)
{ {
int j; int j;
......
...@@ -11,7 +11,7 @@ unsigned char arr[N]; ...@@ -11,7 +11,7 @@ unsigned char arr[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
/* Not vectorized due to multiple-types in the inner-loop. */ /* Not vectorized due to multiple-types in the inner-loop. */
unsigned int __attribute__ ((noinline)) unsigned int
foo (){ foo (){
int i,j; int i,j;
unsigned int diff; unsigned int diff;
...@@ -28,7 +28,7 @@ foo (){ ...@@ -28,7 +28,7 @@ foo (){
return s; return s;
} }
unsigned int __attribute__ ((noinline)) unsigned int
bar (int i, unsigned int diff, unsigned short *in) bar (int i, unsigned int diff, unsigned short *in)
{ {
int j; int j;
......
...@@ -11,7 +11,7 @@ unsigned char arr[N]; ...@@ -11,7 +11,7 @@ unsigned char arr[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
/* Not vectorized due to multiple-types in the inner-loop. */ /* Not vectorized due to multiple-types in the inner-loop. */
unsigned int __attribute__ ((noinline)) unsigned int
foo (){ foo (){
int i,j; int i,j;
unsigned int diff; unsigned int diff;
...@@ -28,7 +28,7 @@ foo (){ ...@@ -28,7 +28,7 @@ foo (){
return s; return s;
} }
unsigned int __attribute__ ((noinline)) unsigned int
bar (int i, unsigned int diff, unsigned short *in) bar (int i, unsigned int diff, unsigned short *in)
{ {
int j; int j;
......
...@@ -11,7 +11,7 @@ unsigned char arr[N]; ...@@ -11,7 +11,7 @@ unsigned char arr[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
/* Not vectorized due to multiple-types in the inner-loop. */ /* Not vectorized due to multiple-types in the inner-loop. */
unsigned int __attribute__ ((noinline)) unsigned int
foo (){ foo (){
int i,j; int i,j;
unsigned int diff; unsigned int diff;
...@@ -28,7 +28,7 @@ foo (){ ...@@ -28,7 +28,7 @@ foo (){
return s; return s;
} }
unsigned int __attribute__ ((noinline)) unsigned int
bar (int i, unsigned int diff, unsigned short *in) bar (int i, unsigned int diff, unsigned short *in)
{ {
int j; int j;
......
...@@ -10,7 +10,7 @@ unsigned int out[N]; ...@@ -10,7 +10,7 @@ unsigned int out[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
/* Not vectorized due to multiple-types in the inner-loop. */ /* Not vectorized due to multiple-types in the inner-loop. */
unsigned int __attribute__ ((noinline)) unsigned int
foo (){ foo (){
int i,j; int i,j;
unsigned int diff; unsigned int diff;
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
extern void abort(void); extern void abort(void);
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
float A[N] __attribute__ ((__aligned__(16))); float A[N] __attribute__ ((__aligned__(16)));
......
...@@ -13,6 +13,7 @@ float C[N] __attribute__ ((__aligned__(16))); ...@@ -13,6 +13,7 @@ float C[N] __attribute__ ((__aligned__(16)));
float D[N] __attribute__ ((__aligned__(16))); float D[N] __attribute__ ((__aligned__(16)));
extern void abort(void); extern void abort(void);
__attribute__ ((noinline))
int main1 () int main1 ()
{ {
float s; float s;
......
...@@ -14,6 +14,7 @@ float fir_out[N]; ...@@ -14,6 +14,7 @@ float fir_out[N];
/* Currently not vectorized because the loop-count for the inner-loop /* Currently not vectorized because the loop-count for the inner-loop
has a maybe_zero component. Will be fixed when we incorporate the has a maybe_zero component. Will be fixed when we incorporate the
"cond_expr in rhs" patch. */ "cond_expr in rhs" patch. */
__attribute__ ((noinline))
void foo (){ void foo (){
int i,j,k; int i,j,k;
float diff; float diff;
...@@ -39,6 +40,7 @@ void foo (){ ...@@ -39,6 +40,7 @@ void foo (){
} }
/* Vectorized. Changing misalignment in the inner-loop. */ /* Vectorized. Changing misalignment in the inner-loop. */
__attribute__ ((noinline))
void fir (){ void fir (){
int i,j,k; int i,j,k;
float diff; float diff;
......
...@@ -15,6 +15,7 @@ float fir_out[N]; ...@@ -15,6 +15,7 @@ float fir_out[N];
because the compiler doesn't realize that the inner-loop executes at because the compiler doesn't realize that the inner-loop executes at
least once (cause k<4), and so there's no need to create a guard code least once (cause k<4), and so there's no need to create a guard code
to skip the inner-loop in case it doesn't execute. */ to skip the inner-loop in case it doesn't execute. */
__attribute__ ((noinline))
void foo (){ void foo (){
int i,j,k; int i,j,k;
float diff; float diff;
...@@ -36,6 +37,7 @@ void foo (){ ...@@ -36,6 +37,7 @@ void foo (){
} }
/* Vectorized. Changing misalignment in the inner-loop. */ /* Vectorized. Changing misalignment in the inner-loop. */
__attribute__ ((noinline))
void fir (){ void fir (){
int i,j,k; int i,j,k;
float diff; float diff;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
/* Test vectorization of reduction of unsigned-int. */ /* Test vectorization of reduction of unsigned-int. */
__attribute__ ((noinline))
void main1 (unsigned int x, unsigned int max_result, unsigned int min_result) void main1 (unsigned int x, unsigned int max_result, unsigned int min_result)
{ {
int i; int i;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 16 #define N 16
#define DIFF 242 #define DIFF 242
void __attribute__ ((noinline)) void
main1 (unsigned char x, unsigned char max_result, unsigned char min_result) main1 (unsigned char x, unsigned char max_result, unsigned char min_result)
{ {
int i; int i;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 16 #define N 16
#define DIFF 242 #define DIFF 242
void __attribute__ ((noinline)) void
main1 (unsigned short x, unsigned short max_result, unsigned short min_result) main1 (unsigned short x, unsigned short max_result, unsigned short min_result)
{ {
int i; int i;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
/* Test vectorization of reduction of signed-int. */ /* Test vectorization of reduction of signed-int. */
__attribute__ ((noinline))
void main1 (int x, int max_result, int min_result) void main1 (int x, int max_result, int min_result)
{ {
int i; int i;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 16 #define N 16
#define DIFF 121 #define DIFF 121
__attribute__ ((noinline))
void main1 (signed char x, signed char max_result, signed char min_result) void main1 (signed char x, signed char max_result, signed char min_result)
{ {
int i; int i;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 16 #define N 16
#define DIFF 242 #define DIFF 242
__attribute__ ((noinline))
void main1 (short x, short max_result, short min_result) void main1 (short x, short max_result, short min_result)
{ {
int i; int i;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
/* Test vectorization of reduction of unsigned-int in the presence /* Test vectorization of reduction of unsigned-int in the presence
of unknown-loop-bound. */ of unknown-loop-bound. */
__attribute__ ((noinline))
int main1 (int n, int res) int main1 (int n, int res)
{ {
int i; int i;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 16 #define N 16
#define DIFF 242 #define DIFF 242
__attribute__ ((noinline))
int main1 (float x, float max_result) int main1 (float x, float max_result)
{ {
int i; int i;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
extern void abort (void); extern void abort (void);
typedef unsigned char T; typedef unsigned char T;
void __attribute__ ((noinline)) void
testmax (const T *c, T init, T result) testmax (const T *c, T init, T result)
{ {
T lc[N], accum = init; T lc[N], accum = init;
...@@ -23,7 +23,7 @@ testmax (const T *c, T init, T result) ...@@ -23,7 +23,7 @@ testmax (const T *c, T init, T result)
abort (); abort ();
} }
void __attribute__ ((noinline)) void
testmin (const T *c, T init, T result) testmin (const T *c, T init, T result)
{ {
T lc[N], accum = init; T lc[N], accum = init;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
extern void abort (void); extern void abort (void);
typedef signed char T; typedef signed char T;
void __attribute__ ((noinline)) void
testmax (const T *c, T init, T result) testmax (const T *c, T init, T result)
{ {
T lc[N], accum = init; T lc[N], accum = init;
...@@ -23,7 +23,7 @@ testmax (const T *c, T init, T result) ...@@ -23,7 +23,7 @@ testmax (const T *c, T init, T result)
abort (); abort ();
} }
void __attribute__ ((noinline)) void
testmin (const T *c, T init, T result) testmin (const T *c, T init, T result)
{ {
T lc[N], accum = init; T lc[N], accum = init;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
extern void abort (void); extern void abort (void);
typedef unsigned short T; typedef unsigned short T;
void __attribute__ ((noinline)) void
testmax (const T *c, T init, T result) testmax (const T *c, T init, T result)
{ {
T lc[N], accum = init; T lc[N], accum = init;
...@@ -23,7 +23,7 @@ testmax (const T *c, T init, T result) ...@@ -23,7 +23,7 @@ testmax (const T *c, T init, T result)
abort (); abort ();
} }
void __attribute__ ((noinline)) void
testmin (const T *c, T init, T result) testmin (const T *c, T init, T result)
{ {
T lc[N], accum = init; T lc[N], accum = init;
......
...@@ -13,7 +13,7 @@ signed short Y[N] __attribute__ ((__aligned__(16))); ...@@ -13,7 +13,7 @@ signed short Y[N] __attribute__ ((__aligned__(16)));
Detected as a dot-product pattern. Detected as a dot-product pattern.
Vectorized on targets that support dot-product for signed shorts. */ Vectorized on targets that support dot-product for signed shorts. */
int __attribute__ ((noinline)) int
foo (int len) foo (int len)
{ {
int i; int i;
......
...@@ -13,7 +13,7 @@ signed short Y[N] __attribute__ ((__aligned__(16))); ...@@ -13,7 +13,7 @@ signed short Y[N] __attribute__ ((__aligned__(16)));
/* short->short->int dot product. Should be vectorized on architectures /* short->short->int dot product. Should be vectorized on architectures
supporting vectorized multiplication of two short args with short result, supporting vectorized multiplication of two short args with short result,
e.g "mulv4hi3" and widenning sum */ e.g "mulv4hi3" and widenning sum */
int __attribute__ ((noinline)) int
foo (int len) foo (int len)
{ {
int i; int i;
......
...@@ -18,7 +18,7 @@ signed char Y[N] __attribute__ ((__aligned__(16))); ...@@ -18,7 +18,7 @@ signed char Y[N] __attribute__ ((__aligned__(16)));
In the future could also be vectorized as widening-mult + widening-summation, In the future could also be vectorized as widening-mult + widening-summation,
or with type-conversion support. or with type-conversion support.
*/ */
int __attribute__ ((noinline)) int
foo1(int len) { foo1(int len) {
int i; int i;
int result = 0; int result = 0;
......
...@@ -26,7 +26,7 @@ signed char Y[N] __attribute__ ((__aligned__(16))); ...@@ -26,7 +26,7 @@ signed char Y[N] __attribute__ ((__aligned__(16)));
Alternatively, the loop could also be vectorized as widening-mult + summation, Alternatively, the loop could also be vectorized as widening-mult + summation,
or with type-conversion support. or with type-conversion support.
*/ */
short __attribute__ ((noinline)) short
foo2(int len) { foo2(int len) {
int i; int i;
short result = 0; short result = 0;
......
...@@ -13,7 +13,7 @@ signed char Y[N] __attribute__ ((__aligned__(16))); ...@@ -13,7 +13,7 @@ signed char Y[N] __attribute__ ((__aligned__(16)));
/* char->int->int dot product. /* char->int->int dot product.
Not detected as a dot-product pattern. Not detected as a dot-product pattern.
Currently fails to be vectorized due to presence of type conversions. */ Currently fails to be vectorized due to presence of type conversions. */
int __attribute__ ((noinline)) int
foo3(int len) { foo3(int len) {
int i; int i;
int result = 0; int result = 0;
......
...@@ -14,7 +14,7 @@ unsigned short Y[N] __attribute__ ((__aligned__(16))); ...@@ -14,7 +14,7 @@ unsigned short Y[N] __attribute__ ((__aligned__(16)));
/* short->short->int dot product. /* short->short->int dot product.
Not detected as a dot-product pattern. Not detected as a dot-product pattern.
Requires support for non-widneing multiplication and widening-summation. */ Requires support for non-widneing multiplication and widening-summation. */
unsigned int __attribute__ ((noinline)) unsigned int
foo1(int len) { foo1(int len) {
int i; int i;
unsigned int result = 0; unsigned int result = 0;
......
...@@ -15,7 +15,7 @@ unsigned short Y[N] __attribute__ ((__aligned__(16))); ...@@ -15,7 +15,7 @@ unsigned short Y[N] __attribute__ ((__aligned__(16)));
promotes the ushorts to int, and then the product is promoted to unsigned promotes the ushorts to int, and then the product is promoted to unsigned
int for the addition. Which results in an int->unsigned int cast, which int for the addition. Which results in an int->unsigned int cast, which
since no bits are modified in the cast should be trivially vectorizable. */ since no bits are modified in the cast should be trivially vectorizable. */
unsigned int __attribute__ ((noinline)) unsigned int
foo2(int len) { foo2(int len) {
int i; int i;
unsigned int result = 0; unsigned int result = 0;
......
...@@ -21,7 +21,7 @@ unsigned char Y[N] __attribute__ ((__aligned__(16))); ...@@ -21,7 +21,7 @@ unsigned char Y[N] __attribute__ ((__aligned__(16)));
Widening summation can also be supported by type promotion and non-widening Widening summation can also be supported by type promotion and non-widening
summation (vect_unpack). summation (vect_unpack).
*/ */
unsigned int __attribute__ ((noinline)) unsigned int
foo (int len) { foo (int len) {
int i; int i;
unsigned int result = 0; unsigned int result = 0;
......
...@@ -18,7 +18,7 @@ unsigned char Y[N] __attribute__ ((__aligned__(16))); ...@@ -18,7 +18,7 @@ unsigned char Y[N] __attribute__ ((__aligned__(16)));
Alternatively, this test can be vectorized using vect_widen_mult_qi (or Alternatively, this test can be vectorized using vect_widen_mult_qi (or
vect_unpack and non-widening multplication: vect_unpack && vect_short_mult). vect_unpack and non-widening multplication: vect_unpack && vect_short_mult).
*/ */
unsigned short __attribute__ ((noinline)) unsigned short
foo (int len) { foo (int len) {
int i; int i;
unsigned short result = 0; unsigned short result = 0;
......
...@@ -8,7 +8,7 @@ unsigned short udata_sh[N] = ...@@ -8,7 +8,7 @@ unsigned short udata_sh[N] =
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 }; { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210 #define SUM 210
int __attribute__ ((noinline)) int
foo () foo ()
{ {
int i; int i;
......
...@@ -8,7 +8,7 @@ unsigned char udata_ch[N] = ...@@ -8,7 +8,7 @@ unsigned char udata_ch[N] =
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 }; { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210 #define SUM 210
int __attribute__ ((noinline)) int
foo () foo ()
{ {
int i; int i;
......
...@@ -8,7 +8,7 @@ unsigned char udata_ch[N] = ...@@ -8,7 +8,7 @@ unsigned char udata_ch[N] =
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 }; { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210 #define SUM 210
int __attribute__ ((noinline)) int
foo () foo ()
{ {
int i; int i;
......
...@@ -8,7 +8,7 @@ signed short data_sh[N] = ...@@ -8,7 +8,7 @@ signed short data_sh[N] =
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 }; { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210 #define SUM 210
int __attribute__ ((noinline)) int
foo () foo ()
{ {
int i; int i;
......
...@@ -8,7 +8,7 @@ signed char data_ch[N] = ...@@ -8,7 +8,7 @@ signed char data_ch[N] =
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 }; { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210 #define SUM 210
int __attribute__ ((noinline)) int
foo () foo ()
{ {
int i; int i;
......
...@@ -8,7 +8,7 @@ signed char data_ch[N] = ...@@ -8,7 +8,7 @@ signed char data_ch[N] =
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 }; { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210 #define SUM 210
int __attribute__ ((noinline)) int
foo () foo ()
{ {
int i; int i;
......
...@@ -15,7 +15,7 @@ typedef struct { ...@@ -15,7 +15,7 @@ typedef struct {
unsigned int b; unsigned int b;
} ii; } ii;
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
s arr[N]; s arr[N];
......
...@@ -10,7 +10,7 @@ typedef struct { ...@@ -10,7 +10,7 @@ typedef struct {
unsigned short b; unsigned short b;
} s; } s;
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
s arr[N]; s arr[N];
......
...@@ -12,7 +12,7 @@ typedef struct { ...@@ -12,7 +12,7 @@ typedef struct {
unsigned short d; unsigned short d;
} s; } s;
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
s arr[N]; s arr[N];
......
...@@ -10,7 +10,7 @@ typedef struct { ...@@ -10,7 +10,7 @@ typedef struct {
unsigned short b; unsigned short b;
} s; } s;
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
s arr[N]; s arr[N];
......
...@@ -10,7 +10,7 @@ typedef struct { ...@@ -10,7 +10,7 @@ typedef struct {
unsigned int b; unsigned int b;
} ii; } ii;
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
unsigned short arr[N]; unsigned short arr[N];
......
...@@ -10,7 +10,7 @@ typedef struct { ...@@ -10,7 +10,7 @@ typedef struct {
unsigned char b; unsigned char b;
} s; } s;
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
s arr[N]; s arr[N];
......
...@@ -17,7 +17,7 @@ typedef struct { ...@@ -17,7 +17,7 @@ typedef struct {
unsigned char h; unsigned char h;
} s; } s;
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -16,7 +16,7 @@ typedef struct { ...@@ -16,7 +16,7 @@ typedef struct {
unsigned char h; unsigned char h;
} s; } s;
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 16 #define N 16
int __attribute__ ((noinline)) int
main1 (void) main1 (void)
{ {
int i; int i;
......
...@@ -15,7 +15,7 @@ typedef struct { ...@@ -15,7 +15,7 @@ typedef struct {
unsigned int b; unsigned int b;
} ii; } ii;
int __attribute__ ((noinline)) int
main1 (s *arr, ii *iarr) main1 (s *arr, ii *iarr)
{ {
s *ptr = arr; s *ptr = arr;
......
...@@ -15,7 +15,7 @@ typedef struct { ...@@ -15,7 +15,7 @@ typedef struct {
unsigned int b; unsigned int b;
} ii; } ii;
int __attribute__ ((noinline)) int
main1 (s *arr, ii *iarr) main1 (s *arr, ii *iarr)
{ {
s *ptr = arr; s *ptr = arr;
......
...@@ -12,7 +12,7 @@ typedef struct { ...@@ -12,7 +12,7 @@ typedef struct {
s buffer1[N], buffer2[N]; s buffer1[N], buffer2[N];
int __attribute__ ((noinline)) int
main1 (s * __restrict__ pIn, s* __restrict__ pOut) main1 (s * __restrict__ pIn, s* __restrict__ pOut)
{ {
unsigned short i, x, y, d; unsigned short i, x, y, d;
......
...@@ -10,7 +10,7 @@ typedef struct { ...@@ -10,7 +10,7 @@ typedef struct {
unsigned char b; unsigned char b;
} s; } s;
int __attribute__ ((noinline)) int
main1 () main1 ()
{ {
s arr[N]; s arr[N];
......
...@@ -16,7 +16,7 @@ unsigned short a[N]; ...@@ -16,7 +16,7 @@ unsigned short a[N];
unsigned short b[N]; unsigned short b[N];
unsigned short c[N]; unsigned short c[N];
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
int i; int i;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define N 16 #define N 16
int __attribute__ ((noinline)) int
main1 (void) main1 (void)
{ {
int i; int i;
......
...@@ -10,7 +10,7 @@ typedef struct { ...@@ -10,7 +10,7 @@ typedef struct {
unsigned short b; unsigned short b;
} s; } s;
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
s *ptr = arr; s *ptr = arr;
......
...@@ -12,7 +12,7 @@ typedef struct { ...@@ -12,7 +12,7 @@ typedef struct {
unsigned short d; unsigned short d;
} s; } s;
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
int i; int i;
......
...@@ -12,7 +12,7 @@ typedef struct { ...@@ -12,7 +12,7 @@ typedef struct {
int d; int d;
} s; } s;
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
int i; int i;
......
...@@ -16,7 +16,7 @@ typedef struct { ...@@ -16,7 +16,7 @@ typedef struct {
int h; int h;
} s; } s;
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
int i; int i;
......
...@@ -10,7 +10,7 @@ typedef struct { ...@@ -10,7 +10,7 @@ typedef struct {
unsigned int b; unsigned int b;
} ii; } ii;
int __attribute__ ((noinline)) int
main1 (unsigned short *arr, ii *iarr) main1 (unsigned short *arr, ii *iarr)
{ {
unsigned short *ptr = arr; unsigned short *ptr = arr;
......
...@@ -10,7 +10,7 @@ typedef struct { ...@@ -10,7 +10,7 @@ typedef struct {
unsigned char b; unsigned char b;
} s; } s;
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
s *ptr = arr; s *ptr = arr;
......
...@@ -10,7 +10,7 @@ typedef struct { ...@@ -10,7 +10,7 @@ typedef struct {
unsigned char b; unsigned char b;
} s; } s;
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
s *ptr = arr; s *ptr = arr;
......
...@@ -17,7 +17,7 @@ typedef struct { ...@@ -17,7 +17,7 @@ typedef struct {
unsigned char h; unsigned char h;
} s; } s;
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
int i; int i;
......
...@@ -16,7 +16,7 @@ typedef struct { ...@@ -16,7 +16,7 @@ typedef struct {
unsigned char h; unsigned char h;
} s; } s;
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
int i; int i;
......
...@@ -16,7 +16,7 @@ typedef struct { ...@@ -16,7 +16,7 @@ typedef struct {
unsigned char h; unsigned char h;
} s; } s;
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
int i; int i;
......
...@@ -17,7 +17,7 @@ typedef struct { ...@@ -17,7 +17,7 @@ typedef struct {
unsigned char h; unsigned char h;
} s; } s;
int __attribute__ ((noinline)) int
main1 (s *arr) main1 (s *arr)
{ {
int i; int i;
......
...@@ -8,7 +8,7 @@ int result[N] = {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27} ...@@ -8,7 +8,7 @@ int result[N] = {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27}
int X[N] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25}; int X[N] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25};
int Y[N] = {}; int Y[N] = {};
void __attribute__ ((noinline)) void
foo (int *in, int *out) foo (int *in, int *out)
{ {
int i; int i;
......
...@@ -10,7 +10,7 @@ int X[N] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25}; ...@@ -10,7 +10,7 @@ int X[N] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25};
int Y[N] = {}; int Y[N] = {};
int Z[N] = {}; int Z[N] = {};
void __attribute__ ((noinline)) void
foo (int *in, int *out1, int *out2) foo (int *in, int *out1, int *out2)
{ {
int i; int i;
......
...@@ -18,7 +18,7 @@ struct S X[N] = {10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, ...@@ -18,7 +18,7 @@ struct S X[N] = {10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16,
23, 23, 24, 24, 25, 25}; 23, 23, 24, 24, 25, 25};
struct S Y[N] = {}; struct S Y[N] = {};
void __attribute__ ((noinline)) void
foo (struct S * in, struct S * out) foo (struct S * in, struct S * out)
{ {
int i; int i;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
int result[] = {10, 11, 15, 16, 20, 21, 25, 26, 30, 31, 35, 36, 40, 41, 45, 46, 50, 51}; int result[] = {10, 11, 15, 16, 20, 21, 25, 26, 30, 31, 35, 36, 40, 41, 45, 46, 50, 51};
int X[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0}; int X[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0};
void __attribute__ ((noinline)) void
foo (int *in, int *out) foo (int *in, int *out)
{ {
int i; int i;
......
...@@ -10,7 +10,7 @@ short Y[N] __attribute__ ((__aligned__(16))); ...@@ -10,7 +10,7 @@ short Y[N] __attribute__ ((__aligned__(16)));
int result[N]; int result[N];
/* short->int widening-mult */ /* short->int widening-mult */
int __attribute__ ((noinline)) int
foo1(int len) { foo1(int len) {
int i; int i;
......
...@@ -10,7 +10,7 @@ signed char Y[N] __attribute__ ((__aligned__(16))); ...@@ -10,7 +10,7 @@ signed char Y[N] __attribute__ ((__aligned__(16)));
short result[N]; short result[N];
/* char->short widening-mult */ /* char->short widening-mult */
int __attribute__ ((noinline)) int
foo1(int len) { foo1(int len) {
int i; int i;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#define SUM 0 #define SUM 0
/* Require widening-mult or data-unpacking (for the type promotion). */ /* Require widening-mult or data-unpacking (for the type promotion). */
int __attribute__ ((noinline)) int
main1 (short *in, int off, short scale, int n) main1 (short *in, int off, short scale, int n)
{ {
int i; int i;
......
...@@ -10,7 +10,7 @@ unsigned short Y[N] __attribute__ ((__aligned__(16))); ...@@ -10,7 +10,7 @@ unsigned short Y[N] __attribute__ ((__aligned__(16)));
unsigned int result[N]; unsigned int result[N];
/* short->int widening-mult */ /* short->int widening-mult */
int __attribute__ ((noinline)) int
foo1(int len) { foo1(int len) {
int i; int i;
......
...@@ -10,7 +10,7 @@ unsigned char Y[N] __attribute__ ((__aligned__(16))); ...@@ -10,7 +10,7 @@ unsigned char Y[N] __attribute__ ((__aligned__(16)));
unsigned short result[N]; unsigned short result[N];
/* char->short widening-mult */ /* char->short widening-mult */
int __attribute__ ((noinline)) int
foo1(int len) { foo1(int len) {
int i; int i;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 16 #define N 16
#define DIFF 121 #define DIFF 121
__attribute__ ((noinline))
void main1 (signed char x, signed char max_result, signed char min_result) void main1 (signed char x, signed char max_result, signed char min_result)
{ {
int i; int i;
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define N 16 #define N 16
#define DIFF 242 #define DIFF 242
__attribute__ ((noinline))
void main1 (short x, short max_result, short min_result) void main1 (short x, short max_result, short min_result)
{ {
int i; int i;
......
...@@ -19,7 +19,7 @@ signed char Y[N] __attribute__ ((__aligned__(16))); ...@@ -19,7 +19,7 @@ signed char Y[N] __attribute__ ((__aligned__(16)));
Can also be vectorized as widening-mult + summation, Can also be vectorized as widening-mult + summation,
or with type-conversion support. or with type-conversion support.
*/ */
short __attribute__ ((noinline)) short
foo(int len) { foo(int len) {
int i; int i;
short result = 0; short result = 0;
......
...@@ -8,7 +8,7 @@ signed char data_ch[N] = ...@@ -8,7 +8,7 @@ signed char data_ch[N] =
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 }; { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210 #define SUM 210
int __attribute__ ((noinline)) int
foo () foo ()
{ {
int i; int i;
......
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