[Qemu-devel] [RISU PATCH v3 04/18] risugen_x86_constraints: add module

2019-07-11 Thread Jan Bobek
The module risugen_x86_constraints.pm provides environment for evaluating x86 "!constraints" blocks. This is facilitated by the single exported function eval_constraints_block. Signed-off-by: Jan Bobek --- risugen_x86_constraints.pm | 154 + 1 file changed, 15

Re: [Qemu-devel] [RISU PATCH v3 04/18] risugen_x86_constraints: add module

2019-07-12 Thread Richard Henderson
On 7/12/19 12:32 AM, Jan Bobek wrote: > +sub vex($%) > +{ > +my ($insn, %vex) = @_; > +my $regidw = $is_x86_64 ? 4 : 3; > + > +# There is no point in randomizing other VEX fields, since > +# VEX.R/.X/.B are encoded automatically by risugen_x86_asm, and > +# VEX.M/.P are opcodes.

Re: [Qemu-devel] [RISU PATCH v3 04/18] risugen_x86_constraints: add module

2019-07-14 Thread Jan Bobek
On 7/12/19 10:24 AM, Richard Henderson wrote: > On 7/12/19 12:32 AM, Jan Bobek wrote: >> +sub vex($%) >> +{ >> +my ($insn, %vex) = @_; >> +my $regidw = $is_x86_64 ? 4 : 3; >> + >> +# There is no point in randomizing other VEX fields, since >> +# VEX.R/.X/.B are encoded automatically

Re: [Qemu-devel] [RISU PATCH v3 04/18] risugen_x86_constraints: add module

2019-07-20 Thread Richard Henderson
On 7/11/19 3:32 PM, Jan Bobek wrote: > +sub data16($%) > +{ > +my ($insn, %data16) = @_; > +$insn->{data16} = \%data16; > +} > + > +sub rep($%) > +{ > +my ($insn, %rep) = @_; > +$insn->{rep} = \%rep; > +} > + > +sub repne($%) > +{ > +my ($insn, %repne) = @_; > +$insn->{repne

Re: [Qemu-devel] [RISU PATCH v3 04/18] risugen_x86_constraints: add module

2019-07-22 Thread Jan Bobek
On 7/20/19 9:54 PM, Richard Henderson wrote: > On 7/11/19 3:32 PM, Jan Bobek wrote: >> +sub data16($%) >> +{ >> +my ($insn, %data16) = @_; >> +$insn->{data16} = \%data16; >> +} >> + >> +sub rep($%) >> +{ >> +my ($insn, %rep) = @_; >> +$insn->{rep} = \%rep; >> +} >> + >> +sub repne($