)]}'
{
  "commit": "8e2c20023f34b652605a5fb7c68bb843d2b100a8",
  "tree": "bd041c1762724dbbc91f4b2da3fc0716165784e5",
  "parents": [
    "02fb6149f7a64c62934c035e7635321cb9a8cf2e"
  ],
  "author": {
    "name": "Trent Piepho",
    "email": "xyzzy@speakeasy.org",
    "time": "Tue May 08 00:24:05 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Tue May 08 11:14:59 2007 -0700"
  },
  "message": "Fix constant folding and poor optimization in byte swapping code\n\nConstant folding does not work for the swabXX() byte swapping functions,\nand the C versions optimize poorly.\n\nAttempting to initialize a global variable to swab16(0x1234) or put\nsomething like \"case swab32(42):\" in a switch statement will not compile.\nIt can work, swab.h just isn\u0027t doing it correctly.  This patch fixes that.\n\nContrary to the comment in asm-i386/byteorder.h, gcc does not recognize the\n\"C\" version of swab16 and turn it into efficient code.  gcc can do this,\njust not with the current code.  The simple function:\n\nu16 foo(u16 x) { return swab16(x); }\n\nWould compile to:\n        movzwl  %ax, %eax\n        movl    %eax, %edx\n        shrl    $8, %eax\n        sall    $8, %edx\n        orl     %eax, %edx\n\nWith this patch, it will compile to:\n        rolw    $8, %ax\n\nI also attempted to document the maze different macros/inline functions\nthat are used to create the final product.\n\nSigned-off-by: Trent Piepho \u003cxyzzy@speakeasy.org\u003e\nCc: Francois-Rene Rideau \u003cfare@tunes.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "25f7f32883ec8667c4c464c2ff43f36a73aad27c",
      "old_mode": 33188,
      "old_path": "include/linux/byteorder/swab.h",
      "new_id": "142134ff164552e22011ebba4e96381dc8f0067a",
      "new_mode": 33188,
      "new_path": "include/linux/byteorder/swab.h"
    }
  ]
}
