X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_transform.c;h=702d9d95a8178fadf9167d18f19259eb365536b6;hb=9a31e289b01a04f5559712ad37cd912f494fe724;hp=ebb470731253fae0df73397a693cd2e5d3ddf6ff;hpb=317e5e57774f7af9c5819c94afee4d9a4ac9b7b6;p=libfirm diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index ebb470731..702d9d95a 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -1233,6 +1233,9 @@ static ir_node *gen_Store(ia32_transform_env_t *env) { if (mode_is_float(env->mode)) { new_op = new_rd_ia32_fStore(env->dbg, env->irg, env->block, ptr, noreg, sval, mem, env->mode); } + else if (get_mode_size_bits(env->mode) == 8) { + new_op = new_rd_ia32_Store8Bit(env->dbg, env->irg, env->block, ptr, noreg, sval, mem, env->mode); + } else { new_op = new_rd_ia32_Store(env->dbg, env->irg, env->block, ptr, noreg, sval, mem, env->mode); } @@ -1619,6 +1622,9 @@ static ir_node *gen_FrameStore(ia32_transform_env_t *env) { if (mode_is_float(mode)) { new_op = new_rd_ia32_fStore(env->dbg, env->irg, env->block, ptr, noreg, val, mem, mode_T); } + else if (get_mode_size_bits(mode) == 8) { + new_op = new_rd_ia32_Store8Bit(env->dbg, env->irg, env->block, ptr, noreg, val, mem, mode_T); + } else { new_op = new_rd_ia32_Store(env->dbg, env->irg, env->block, ptr, noreg, val, mem, mode_T); }