Is there any semantic difference between the following two instructions?

 

{.opcode = BPF_ALU64 | BPF_MOV | BPF_K, .offset = 0, .imm = -1}

 

{.opcode = BPF_ALU64 | BPF_MOVSX | BPF_K, .offset = 32, .imm = -1}

 

From my reading both of them treat imm as a signed 32-bit number and sign-extend it to 64 bits.

 

Dave