Pregenerate 2.0 for const folder since it's used often

This commit is contained in:
Dale Weiler 2013-11-25 13:25:29 -05:00
parent 33c0c83d59
commit dc48af195d
2 changed files with 6 additions and 5 deletions

1
fold.c
View file

@ -230,6 +230,7 @@ fold_t *fold_init(parser_t *parser) {
(void)fold_constgen_float (fold, 0.0f);
(void)fold_constgen_float (fold, 1.0f);
(void)fold_constgen_float (fold, -1.0f);
(void)fold_constgen_float (fold, 2.0f);
(void)fold_constgen_vector(fold, vec3_create(0.0f, 0.0f, 0.0f));
(void)fold_constgen_vector(fold, vec3_create(-1.0f, -1.0f, -1.0f));

View file

@ -784,7 +784,7 @@ static ast_expression *intrin_pow(intrin_t *intrin) {
intrin_ctx(intrin),
INSTR_DIV_F,
(ast_expression*)exp,
(ast_expression*)fold_constgen_float(intrin->fold, 2.0f)
(ast_expression*)intrin->fold->imm_float[3] /* 2.0f */
)
);
@ -887,7 +887,7 @@ static ast_expression *intrin_pow(intrin_t *intrin) {
intrin_ctx(intrin),
INSTR_DIV_F,
(ast_expression*)high,
(ast_expression*)fold_constgen_float(intrin->fold, 2.0f)
(ast_expression*)intrin->fold->imm_float[3] /* 2.0f */
)
)
);
@ -996,7 +996,7 @@ static ast_expression *intrin_pow(intrin_t *intrin) {
(ast_expression*)low,
(ast_expression*)high
),
(ast_expression*)fold_constgen_float(intrin->fold, 2.0f)
(ast_expression*)intrin->fold->imm_float[3] /* 2.0f */
)
)
);
@ -1236,7 +1236,7 @@ static ast_expression *intrin_epsilon(intrin_t *intrin) {
intrin_ctx(intrin),
INSTR_MUL_F,
(ast_expression*)eps,
(ast_expression*)fold_constgen_float(intrin->fold, 2.0f)
(ast_expression*)intrin->fold->imm_float[3] /* 2.0f */
)
),
(ast_expression*)intrin->fold->imm_float[1]
@ -1248,7 +1248,7 @@ static ast_expression *intrin_epsilon(intrin_t *intrin) {
INSTR_STORE_F,
INSTR_DIV_F,
(ast_expression*)eps,
(ast_expression*)fold_constgen_float(intrin->fold, 2.0f)
(ast_expression*)intrin->fold->imm_float[3] /* 2.0f */
)
)
);