add a note.
authorChris Lattner <sabre@nondot.org>
Sun, 22 May 2011 18:28:46 +0000 (18:28 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 22 May 2011 18:28:46 +0000 (18:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131863 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/README.txt

index 0105ae4562a988851d267582c11a459fc17b6aa7..260cb5ccab34311d6fc2c6c59568a4eac6d78105 100644 (file)
@@ -2346,3 +2346,13 @@ Note that bb1 and bb2 are the same.  This doesn't happen at the IR level
 because one call is passing an i32 and the other is passing an i64.
 
 //===---------------------------------------------------------------------===//
+
+I see this sort of pattern in 176.gcc in a few places (e.g. the start of
+store_bit_field).  The rem should be replaced with a multiply and subtract:
+
+  %3 = sdiv i32 %A, %B
+  %4 = srem i32 %A, %B
+
+Similarly for udiv/urem.
+
+//===---------------------------------------------------------------------===//