Hi Bin, On 15/10/16 00:15, Bin Cheng wrote:
+/* Test for likely overcommitment of vector hardware resources. If a + loop iteration is relatively large, and too large a percentage of + instructions in the loop are vectorized, the cost model may not + adequately reflect delays from unavailable vector resources. + Penalize the loop body cost for this case. */ + +static void +aarch64_density_test (struct aarch64_vect_loop_cost_data *data) +{ + const int DENSITY_PCT_THRESHOLD = 85; + const int DENSITY_SIZE_THRESHOLD = 128; + const int DENSITY_PENALTY = 10; + struct loop *loop = data->loop_info; + basic_block *bbs = get_loop_body (loop);
Is this worth being part of the cost model such that it can have different defaults for different micro-architecture?
Thanks, Kugan