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($
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
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
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.
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