Changeset b32fe793 in rtems


Ignore:
Timestamp:
10/04/02 13:24:06 (21 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
3762222
Parents:
2b30225
Message:

2002-10-04 Jay Monkman <jtm@…>

  • rtems/score/cpu.h: Fix u16 and u32 swap routines.
Location:
cpukit/score/cpu/arm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpukit/score/cpu/arm/ChangeLog

    r2b30225 rb32fe793  
     12002-10-04      Jay Monkman <jtm@smoothsmoothie.com>
     2
     3        * rtems/score/cpu.h: Fix u16 and u32 swap routines.
     4
    152002-08-05      Joel Sherrill <joel@OARcorp.com>
    26
  • cpukit/score/cpu/arm/rtems/score/cpu.h

    r2b30225 rb32fe793  
    898898)
    899899{
    900     unsigned32 tmp;
    901     asm volatile ("EOR   %1, %0, %0, ROR #16\n"  \
    902                   "BIC   %1, %1, #0xff0000\n"    \
    903                   "MOV   %0, %0, ROR #8\n"       \
    904                   "EOR   %0, %0, %1, LSR #8\n"   \
    905                   : "=&r" (value), "=&r" (tmp)     \
    906                   : "0" (value));
     900    unsigned32 tmp = value; /* make compiler warnings go away */
     901    asm volatile ("EOR   %1, %0, %0, ROR #16\n"
     902                  "BIC   %1, %1, #0xff0000\n"   
     903                  "MOV   %0, %0, ROR #8\n"     
     904                  "EOR   %0, %0, %1, LSR #8\n" 
     905                  : "=r" (value), "=r" (tmp) 
     906                  : "0" (value), "1" (tmp));
    907907
    908908    return value;
     
    911911static inline unsigned16 CPU_swap_u16(unsigned16 value)
    912912{
    913     unsigned32 tmp = value;   /* make compiler warnings go away */
    914     asm volatile ("MOV   %1, %0, LSR #8\n"       \
    915                   "BIC   %0, %0, #0xff00\n"      \
    916                   "MOV   %0, %0, LSL #8\n"       \
    917                   "ORR   %0, %0, %1\n"           \
    918                   : "=&r" (value), "=&r" (tmp)     \
    919                   : "0" (value));
    920     return value;
     913    unsigned16 lower;
     914    unsigned16 upper;
     915
     916    value = value & (unsigned16) 0xffff;
     917    lower = (value >> 8) ;
     918    upper = (value << 8) ;
     919
     920    return (lower | upper);
    921921}
    922922
Note: See TracChangeset for help on using the changeset viewer.