| ... | @@ -30,10 +30,23 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3: | ... | @@ -30,10 +30,23 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3: |
| 30 | : "cc", "memory" | 30 | : "cc", "memory" |
| 31 | ); | 31 | ); |
| 32 | }, | 32 | }, |
| | 33 | .aarch64 => { |
| | 34 | return asm volatile ( |
| | 35 | \\ mov x3, %[default] |
| | 36 | \\ mov x4, %[ptr] |
| | 37 | \\ ror x12, x12, #3 ; ror x12, x12, #13 |
| | 38 | \\ ror x12, x12, #51 ; ror x12, x12, #61 |
| | 39 | \\ orr x10, x10, x10 |
| | 40 | \\ mov %[ret], x3 |
| | 41 | : [ret] "=r" (-> usize), |
| | 42 | : [default] "r" (default), |
| | 43 | [ptr] "r" (&[_]usize{ request, a1, a2, a3, a4, a5 }), |
| | 44 | : "cc", "memory", "x3", "x4" |
| | 45 | ); |
| | 46 | }, |
| 33 | // ppc32 | 47 | // ppc32 |
| 34 | // ppc64 | 48 | // ppc64 |
| 35 | // arm | 49 | // arm |
| 36 | // arm64 | | |
| 37 | // s390x | 50 | // s390x |
| 38 | // mips32 | 51 | // mips32 |
| 39 | // mips64 | 52 | // mips64 |