diff options
| author | Doug Rabson <dfr@FreeBSD.org> | 2001-10-10 10:34:08 +0000 |
|---|---|---|
| committer | Doug Rabson <dfr@FreeBSD.org> | 2001-10-10 10:34:08 +0000 |
| commit | d7ed89186f6dbe8708f7b2e671ce421d27b13c95 (patch) | |
| tree | 932409bf053d1bc84931793b902aaa74eceee2f1 /lib/libc | |
| parent | d6a990d799e7e09f3ff221c450d31329ab848fc4 (diff) | |
Notes
Diffstat (limited to 'lib/libc')
| -rw-r--r-- | lib/libc/ia64/net/byte_swap_2.S | 9 | ||||
| -rw-r--r-- | lib/libc/ia64/net/byte_swap_4.S | 13 |
2 files changed, 7 insertions, 15 deletions
diff --git a/lib/libc/ia64/net/byte_swap_2.S b/lib/libc/ia64/net/byte_swap_2.S index 26073afb95c0..fbee3c862515 100644 --- a/lib/libc/ia64/net/byte_swap_2.S +++ b/lib/libc/ia64/net/byte_swap_2.S @@ -39,10 +39,9 @@ * * Argument is an unsigned 2-byte integer (u_int16_t). */ -ENTRY(NAME, 1) /* in0 = 0x0123 */ - extr.u r2=in0,8,8 /* r2 = 0x 01 */ - dep r3=in0,r0,8,8 /* r3 = 0x23 */ - ;; - or ret0=r2,r3 /* ret0 = 0x2301 */ +ENTRY(NAME, 1) + mux1 r16=in0,@rev + ;; + extr.u r8=r16,48,16 br.ret.sptk.few rp END(NAME) diff --git a/lib/libc/ia64/net/byte_swap_4.S b/lib/libc/ia64/net/byte_swap_4.S index 4f4068d91a2a..d1836442c287 100644 --- a/lib/libc/ia64/net/byte_swap_4.S +++ b/lib/libc/ia64/net/byte_swap_4.S @@ -39,16 +39,9 @@ * * Argument is an unsigned 4-byte integer (u_int32_t). */ -ENTRY(NAME, 1) /* in0 = 0x01234567 */ - extr.u r16=in0,0,8 /* r16 = 0x 67 */ - extr.u r17=in0,8,8 /* r17 = 0x 45 */ - extr.u r18=in0,16,8 /* r18 = 0x 23 */ - extr.u ret0=in0,24,8 /* ret0 = 0x 01 */ +ENTRY(NAME, 1) + mux1 r16=in0,@rev ;; - dep ret0=r16,ret0,24,8 /* ret0 = 0x67 01 */ - ;; - dep ret0=r17,ret0,16,8 /* ret0 = 0x6745 01 */ - ;; - dep ret0=r18,ret0,8,8 /* ret0 = 0x67452301 */ + extr.u r8=r16,32,32 br.ret.sptk.few rp END(NAME) |
