| /linux/arch/riscv/include/asm/ |
| H A D | insn-def.h | 32 .macro insn_r, opcode, func3, func7, rd, rs1, rs2 33 .insn r \opcode, \func3, \func7, \rd, \rs1, \rs2 36 .macro insn_i, opcode, func3, rd, rs1, simm12 37 .insn i \opcode, \func3, \rd, \rs1, \simm12 40 .macro insn_s, opcode, func3, rs2, simm12, rs1 41 .insn s \opcode, \func3, \rs2, \simm12(\rs1) 48 .macro insn_r, opcode, func3, func7, rd, rs1, rs2 53 (.L__gpr_num_\rs1 << INSN_R_RS1_SHIFT) | \ 57 .macro insn_i, opcode, func3, rd, rs1, simm12 61 (.L__gpr_num_\rs1 << INSN_I_RS1_SHIFT) | \ [all …]
|
| H A D | module.h | 76 * | imm[31:20] | rs1[19:15] | funct3 | rd[11:7] | opc[6:0] | in emit_plt_entry()
|
| /linux/arch/sparc/kernel/ |
| H A D | visemul.c | 136 #define RS1(INSN) (((INSN) >> 14) & 0x1f) macro 140 static inline void maybe_flush_windows(unsigned int rs1, unsigned int rs2, in maybe_flush_windows() argument 143 if (rs2 >= 16 || rs1 >= 16 || rd >= 16) { in maybe_flush_windows() 296 unsigned long orig_rs1, rs1, orig_rs2, rs2, rd_val; in edge() local 299 maybe_flush_windows(RS1(insn), RS2(insn), RD(insn), 0); in edge() 300 orig_rs1 = rs1 = fetch_reg(RS1(insn), regs); in edge() 304 rs1 = rs1 & 0xffffffff; in edge() 311 left = edge8_tab[rs1 & 0x7].left; in edge() 316 left = edge8_tab_l[rs1 & 0x7].left; in edge() 322 left = edge16_tab[(rs1 >> 1) & 0x3].left; in edge() [all …]
|
| H A D | unaligned_32.c | 72 static inline void maybe_flush_windows(unsigned int rs1, unsigned int rs2, in maybe_flush_windows() argument 75 if(rs2 >= 16 || rs1 >= 16 || rd >= 16) { in maybe_flush_windows() 139 unsigned int rs1 = (insn >> 14) & 0x1f; in compute_effective_address() local 144 maybe_flush_windows(rs1, 0, rd); in compute_effective_address() 145 return (fetch_reg(rs1, regs) + sign_extend_imm13(insn)); in compute_effective_address() 147 maybe_flush_windows(rs1, rs2, rd); in compute_effective_address() 148 return (fetch_reg(rs1, regs) + fetch_reg(rs2, regs)); in compute_effective_address() 155 unsigned int rs1 = (insn >> 14) & 0x1f; in safe_compute_effective_address() local 160 maybe_flush_windows(rs1, 0, rd); in safe_compute_effective_address() 161 return (safe_fetch_reg(rs1, regs) + sign_extend_imm13(insn)); in safe_compute_effective_address() [all …]
|
| H A D | unaligned_64.c | 104 static inline void maybe_flush_windows(unsigned int rs1, unsigned int rs2, in maybe_flush_windows() argument 107 if (rs2 >= 16 || rs1 >= 16 || rd >= 16) { in maybe_flush_windows() 173 unsigned int rs1 = (insn >> 14) & 0x1f; in compute_effective_address() local 178 maybe_flush_windows(rs1, 0, rd, from_kernel); in compute_effective_address() 179 addr = (fetch_reg(rs1, regs) + sign_extend_imm13(insn)); in compute_effective_address() 181 maybe_flush_windows(rs1, rs2, rd, from_kernel); in compute_effective_address() 182 addr = (fetch_reg(rs1, regs) + fetch_reg(rs2, regs)); in compute_effective_address()
|
| /linux/arch/riscv/kernel/probes/ |
| H A D | simulate-insn.c | 62 * offset[11:0] | rs1 | 010 | rd | opcode in simulate_jalr() 109 * | imm[12] | imm[10:5] | rs2 | rs1 | funct3 | imm[4:1] | imm[11] | opcode | in simulate_branch() 111 * imm[12|10:5] rs2 rs1 000 imm[4:1|11] 1100011 BEQ in simulate_branch() 112 * imm[12|10:5] rs2 rs1 001 imm[4:1|11] 1100011 BNE in simulate_branch() 113 * imm[12|10:5] rs2 rs1 100 imm[4:1|11] 1100011 BLT in simulate_branch() 114 * imm[12|10:5] rs2 rs1 101 imm[4:1|11] 1100011 BGE in simulate_branch() 115 * imm[12|10:5] rs2 rs1 110 imm[4:1|11] 1100011 BLTU in simulate_branch() 116 * imm[12|10:5] rs2 rs1 111 imm[4:1|11] 1100011 BGEU in simulate_branch() 171 * | funct4 | rs1 | rs2 | op | in simulate_c_jr_jalr() 177 u32 rs1 = RVC_EXTRACT_C2_RS1_REG(opcode); in simulate_c_jr_jalr() local [all …]
|
| /linux/arch/riscv/errata/thead/ |
| H A D | errata.c | 47 * th.dcache.ipa rs1 (invalidate, physical address) 49 * 0000001 01010 rs1 000 00000 0001011 50 * th.dcache.iva rs1 (invalidate, virtual address) 51 * 0000001 00110 rs1 000 00000 0001011 53 * th.dcache.cpa rs1 (clean, physical address) 55 * 0000001 01001 rs1 000 00000 0001011 56 * th.dcache.cva rs1 (clean, virtual address) 57 * 0000001 00101 rs1 000 00000 0001011 59 * th.dcache.cipa rs1 (clean then invalidate, physical address) 61 * 0000001 01011 rs1 000 00000 0001011 [all …]
|
| /linux/arch/sparc/net/ |
| H A D | bpf_jit_comp_32.c | 26 #define RS1(X) ((X) << 14) macro 71 (F3(2, 0x02) | IMMED | RS1(REG) | ((K) & 0x3ff) | RD(REG)) 113 *prog++ = SUB | RS1(G0) | RS2(r_A) | RD(r_A); \ 118 *prog++ = OR | RS1(G0) | RS2(FROM) | RD(TO); \ 123 *prog++ = OR | RS1(G0) | RS2(G0) | RD(REG); \ 140 *prog++ = OPCODE | RS1(r_A) | RS2(r_X) | RD(r_A); \ 161 _insn |= RS1(r_A) | RD(r_A); \ 175 *prog++ = OR | IMMED | RS1(G0) | S13(K) | RD(DEST); \ 184 *prog++ = LDPTRI | RS1(BASE) | S13(_off) | RD(DEST); \ 190 *prog++ = LD32I | RS1(BASE) | S13(_off) | RD(DEST); \ [all …]
|
| H A D | bpf_jit_comp_64.c | 55 #define RS1(X) ((X) << 14) macro 139 (F3(2, 0x02) | IMMED | RS1(REG) | ((K) & 0x3ff) | RD(REG)) 263 emit(OR | RS1(G0) | RS2(from) | RD(to), ctx); in emit_reg_move() 284 emit(XOR | IMMED | RS1(reg) | S13(lbits) | RD(reg), ctx); in emit_set_const_sext() 290 emit(opcode | RS1(dst) | RS2(src) | RD(dst), ctx); in emit_alu() 295 emit(opcode | RS1(a) | RS2(b) | RD(c), ctx); in emit_alu3() 304 insn |= RS1(dst) | RD(dst); in emit_alu_K() 323 insn |= RS1(src) | RD(dst); in emit_alu3_K() 340 emit(OR | IMMED | RS1(G0) | S13(K) | RD(dest), ctx); in emit_loadimm32() 350 emit(OR | IMMED | RS1(G0) | S13(K) | RD(dest), ctx); in emit_loadimm() [all …]
|
| /linux/arch/arm64/kernel/ |
| H A D | sleep.S | 15 * @rs1: register containing affinity level 1 bit shift 25 *compute_mpidr_hash(u32 rs0, u32 rs1, u32 rs2, u32 rs3, u64 mpidr, u64 mask) { 32 * dst = (aff0 >> rs0 | aff1 >> rs1 | aff2 >> rs2 | aff3 >> rs3); 34 * Input registers: rs0, rs1, rs2, rs3, mpidr, mask 39 .macro compute_mpidr_hash dst, rs0, rs1, rs2, rs3, mpidr, mask 44 lsr \mask ,\mask, \rs1 45 orr \dst, \dst, \mask // dst|=(aff1>>rs1)
|
| /linux/arch/arm/kernel/ |
| H A D | sleep.S | 16 * @rs1: register containing affinity level 1 bit shift 25 *compute_mpidr_hash(u32 rs0, u32 rs1, u32 rs2, u32 mpidr, u32 mask) { 31 * dst = (aff0 >> rs0 | aff1 >> rs1 | aff2 >> rs2); 33 * Input registers: rs0, rs1, rs2, mpidr, mask 38 .macro compute_mpidr_hash dst, rs0, rs1, rs2, mpidr, mask 44 ARM( orr \dst, \dst, \mask, lsr \rs1 ) @ dst|=(aff1>>rs1) 45 THUMB( lsr \mask, \mask, \rs1 )
|
| /linux/arch/riscv/net/ |
| H A D | bpf_jit_comp32.c | 571 const s8 *rs1 = bpf_get_reg64(src1, tmp1, ctx); in emit_branch_r64() local 587 emit(rv_bne(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 588 emit(rv_bne(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 591 emit(rv_bgtu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() 592 emit(rv_bltu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 593 emit(rv_bleu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 596 emit(rv_bltu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() 597 emit(rv_bgtu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 598 emit(rv_bgeu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 601 emit(rv_bgtu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() [all …]
|
| /linux/arch/parisc/net/ |
| H A D | bpf_jit_comp32.c | 706 const s8 *rs1 = bpf_get_reg64(src1, tmp1, ctx); in emit_branch_r64() local 722 emit(hppa_bne(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 723 emit(hppa_bne(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 726 emit(hppa_bgtu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() 727 emit(hppa_bltu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 728 emit(hppa_bleu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 731 emit(hppa_bltu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() 732 emit(hppa_bgtu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 733 emit(hppa_bgeu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 736 emit(hppa_bgtu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() [all …]
|
| /linux/lib/crypto/mips/ |
| H A D | poly1305-mips.pl | 224 my ($h0,$h1,$h2,$r0,$r1,$rs1,$d0,$d1,$d2) = 281 ld $rs1,40($ctx) 378 dmultu ($rs1,$d1) # h1*5*r1 381 mflo ($tmp0,$rs1,$d1) 382 mfhi ($tmp1,$rs1,$d1) 397 dmultu ($rs1,$d2) # h2*5*r1 400 mflo ($tmp2,$rs1,$d2) 729 my ($h0,$h1,$h2,$h3,$h4, $r0,$r1,$r2,$r3, $rs1,$rs2,$rs3) = 783 lw $rs1,36($ctx) 923 maddu $rs1,$d3 # d3*s1 [all …]
|
| /linux/arch/arm/include/debug/ |
| H A D | vexpress.S | 28 @ - all other (RS1 complaint) tiles use UART mapped 40 @ RS1 memory map
|
| /linux/lib/crypto/riscv/ |
| H A D | poly1305-riscv.pl | 127 my ($h0,$h1,$h2,$r0,$r1,$rs1,$d0,$d1,$d2) = 160 ld $rs1,40($ctx) 203 mulhu $tmp1,$rs1,$d1 # h1*5*r1 204 mul $tmp0,$rs1,$d1 219 mul $tmp2,$rs1,$d2 # h2*5*r1 457 my ($h0,$h1,$h2,$h3,$h4, $r0,$r1,$r2,$r3, $rs1,$rs2,$rs3) = 505 lw $rs1,36($ctx) 580 MULX ($t4,$t3,$rs1,$d3) # d3*s1 610 mulw $a3,$rs1,$h4 # h4*s1
|
| /linux/arch/riscv/kvm/ |
| H A D | vcpu_exit.c | 80 * 0110010 00011 rs1 100 rd 1110011 in kvm_riscv_vcpu_unpriv_read() 105 * 0110110 00000 rs1 100 rd 1110011 in kvm_riscv_vcpu_unpriv_read() 108 * 0110100 00000 rs1 100 rd 1110011 in kvm_riscv_vcpu_unpriv_read()
|
| /linux/arch/sparc/math-emu/ |
| H A D | math_32.c | 279 /* r is rd, b is rs2 and a is rs1. The *u arg tells in do_one_mathemu() 284 argp rs1 = NULL, rs2 = NULL, rd = NULL; in do_one_mathemu() local 355 switch (type & 0x3) { /* is rs1 single, double or quad? */ in do_one_mathemu() 369 rs1 = (argp)&fregs[freg]; in do_one_mathemu() 371 case 7: FP_UNPACK_QP (QA, rs1); break; in do_one_mathemu() 372 case 6: FP_UNPACK_DP (DA, rs1); break; in do_one_mathemu() 373 case 5: FP_UNPACK_SP (SA, rs1); break; in do_one_mathemu()
|
| H A D | math_64.c | 173 /* ftt tells which ftt it may happen in, r is rd, b is rs2 and a is rs1. The *u arg tells in do_mathemu() 359 argp rs1 = NULL, rs2 = NULL, rd = NULL; in do_mathemu() local 380 case 1: rs1 = (argp)&f->regs[freg]; in do_mathemu() 383 rs1 = (argp)&zero; in do_mathemu() 387 case 7: FP_UNPACK_QP (QA, rs1); break; in do_mathemu() 388 case 6: FP_UNPACK_DP (DA, rs1); break; in do_mathemu() 389 case 5: FP_UNPACK_SP (SA, rs1); break; in do_mathemu()
|
| /linux/arch/riscv/include/asm/vendor_extensions/ |
| H A D | mips.h | 23 * with rd = 0, rs1 = 0 and imm = 1 for IHB, imm = 3 for EHB,
|
| /linux/arch/arm/boot/dts/arm/ |
| H A D | vexpress-v2m.dtsi | 14 * RS1 variant (vexpress-v2m-rs1.dtsi), but there is a strong 18 * CHANGES TO vexpress-v2m-rs1.dtsi!
|
| /linux/arch/arm/boot/dts/xen/ |
| H A D | xenvm-4.2.dts | 80 arm,v2m-memory-map = "rs1";
|
| /linux/tools/testing/selftests/riscv/vector/ |
| H A D | v_exec_initval_nolibc.c | 22 // 0 | zimm[10:0] | rs1 | 1 1 1 | rd |1010111| vsetvli in main()
|
| /linux/arch/riscv/ |
| H A D | Kconfig.errata | 41 with rd=0, rs1=0 and imm=5. It will behave as a NOP
|
| /linux/arch/arm64/boot/dts/arm/ |
| H A D | vexpress-v2f-1xv7-ca53x2.dts | 16 #include "arm/arm/vexpress-v2m-rs1.dtsi"
|