iverilog/ivtest/ivltests/pr2352834.v

27 lines
580 B
Verilog

module top;
reg pass;
reg [31:0] in2;
integer in1;
reg signed [128:0] res;
initial begin
pass = 1'b1;
in1 = -2; in2 = 63;
res = in1 ** in2;
if (res !== -128'sd9223372036854775808) begin
$display("Failed: -2 ** 65, expected -9223372036854775808, got %0d", res);
pass = 1'b0;
end
in1 = -2; in2 = 65;
res = in1 ** in2;
if (res !== -128'sd36893488147419103232) begin
$display("Failed: -2 ** 65, expected -36893488147419103232, got %0d", res);
pass = 1'b0;
end
if (pass) $display("PASSED");
end
endmodule